以下是引用pauljames在2012-11-23 06:52:38的发言:
没问题
而且如果输出的话,地址值是一样的
printf("p=%p,array=%p,&array=%p",p,array,&array);
因为array是数组第一个元素的首地址,&array是数组的首地址,刚好对应了一个内存单元
我又运行了一遍:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int **p;
int array[100];
p=&array;
printf("p=%d,&array=%p,array=%p\n",p,&array,array);
system("pause");
return 0;
}
发现编译报错啊,说是cannot convert "int (*)[100]"to"int **"in assignment,大概意思就是说不能将数组指针(&array)赋值给二级指针(p),好像说的挺有道理的啊