數組指針是指向數組位址的指針,其本質為指針,下面程式執行個體是它的3種定義方法:
#include
#include
//方法1,直接定義一個數組指針
void method1()
{
printf("方法1,直接定義一個數組指針\n");
int(*pMyArray)[12];
int i = 0;
int myArray[12] = { 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 };
pMyArray = &myArray;
printf("利用數組标号周遊元素:");
for (i = 0; i < 12; i++)//數組标号周遊元素
{
printf("%d ", myArray[i]);
}
printf("\n");
printf("利用數組指針周遊元素:");
for (i = 0; i < 12; i++)//利用數組指針周遊元素
{
printf("%d ", (*pMyArray)[i]);
}
printf("\n");
}
//方法2,聲明一個指針數組類型
void method2()
{
printf("方法2,聲明一個指針數組類型\n");
typedef int(*DefPointer)[12];//聲明一個數組指針類型DefPointer
DefPointer pArray;//定義一個指針
int i = 0;
int myArray[12] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
pArray = &myArray;
printf("利用數組标号周遊元素:");
for (i = 0; i < 12; i++)//數組标号周遊元素
{
printf("%d ", myArray[i]);
}
printf("\n");
printf("利用數組指針周遊元素:");
for (i = 0; i < 12; i++)//利用數組指針周遊元素
{
printf("%d ", (*pArray)[i]);
}
printf("\n");
}
//方法3,用數組類型定義數組指針
void method3()
{
printf("方法3,用數組類型定義數組指針\n");
typedef int(DefArray)[12];//自定義類型DefArray為 int[12] 數組類型
int i = 0;
DefArray myArray = { 1, 2, 3, 4, 4, 65, 6, 7, 7, 8, 8, 65 }; //定義一個int[12]數組
DefArray *p;//定義一個數組指針
p = &myArray;//數組指針指向array
printf("利用數組标号周遊元素:");
for (i = 0; i < 12; i++)//數組标号周遊元素
{
printf("%d ", myArray[i]);
}
printf("\n");
printf("利用數組指針周遊元素:");
for (i = 0; i < 12; i++)//利用數組指針周遊元素
{
printf("%d ", (*p)[i]);
}
printf("\n");
}
int main()
{
method1();
printf("\n");
method2();
printf("\n");
method3();
system("pause");
return 0;
}
程式運作結果:
方法1,直接定義一個數組指針
利用數組标号周遊元素:12 11 10 9 8 7 6 5 4 3 2 1
利用數組指針周遊元素:12 11 10 9 8 7 6 5 4 3 2 1
方法2,聲明一個指針數組類型
利用數組标号周遊元素:1 2 3 4 5 6 7 8 9 10 11 12
利用數組指針周遊元素:1 2 3 4 5 6 7 8 9 10 11 12
方法3,用數組類型定義數組指針
利用數組标号周遊元素:1 2 3 4 4 65 6 7 7 8 8 65
利用數組指針周遊元素:1 2 3 4 4 65 6 7 7 8 8 65
請按任意鍵繼續. . .