int main()
{
const int x = 9;
int br[x] = { 12,23,3,4,45,56,67, };//定义一个包含x个整型元素,数组名为br的整型数组。
int* p = br;//声明p是一个整型指针,可以指向整型元素。所以用指针p指向br首元素的地址。
int(*pbr)[x] = &br;
//&br 是整个br数组的x个元素的地址。
//先声明pbr是一个int型指针,然后开辟x个空间。
//每个空间都是存放地址的,每个元素都是整型指针。
for (int i = 0; i < x; i++)
{
printf("%d\n", *p);//证明这是正确操作。
p++;
}
return 0;
}
int main()
{
int a = 10, b = 20, c = 30, d = 40;
const int n = 5;
int* ar[n] = { &a,&b,&c,&d };//定义一个包含有n个整型指针元素(int *类型元素)且数组名为ar的整型指针数组。
sizeof(ar);//这里的ar代表了ar整个数组的大小;
printf("%d\n", sizeof(ar));//20
int** s = ar;//声明s是一个二级指针,可以指向一个地址。
//int** s = &ar[0];//*s = ar[0] , ar[0] = &a , *&a = 10
int* (*p)[n] =&ar;//(*p)指向ar整个数组的地址
printf("%d\n", sizeof(*p));
return 0;
}