int main()
{
int i = 0;
int b[10];
printf("%d,%d\n",b,&b);// a 为数组的首地址 步长为数组的一个单位长度
printf("%d,%d\n",b+1,&b+1);//&a代表整个数组的地址 步长为整个数组的长度
//声明一个数组指针类型
typedef int(*MyPointer)[10];
//用数组指针类型,去定义一个变量
MyPointer mypoint;
mypoint = &b;
for (i = 0; i<10; i++)
{
(*mypoint)[i] = i;
}
//直接声明一个数组指针变量
int(*pointer)[10] = &b;
for (i = 0; i<10; i++)
{
(*pointer)[i] = i;
}
int a[3][10];
printf("%d,%d\n",a,a+1);//b是一个数组指针 ,指向低维的数组 步长为低维数组的长度
system("pause");
return 0;
}
另附二级指针三种类型内存图:
附符号优先级表: