如下:
#include <stdio.h>
int main(void)
{
int * p[10];
printf("%ld %ld\n", sizeof(p),sizeof(int * [10]));
//我这里打印出来40(32位系统)告诉我们这应该是一个数组类型
return 1;
}#include <stdio.h>
int main(void)
{
int * p[10];
int a = 0;
int b;
int c;
//这里的p[0]就是a的地址,取*之后就是a的值
p[0] = &a;
*p[0] = 2;
printf("%ld %ld\n", sizeof(p),sizeof(int * [10]));
printf("%d\n",a);
return 1;
}#include <stdio.h>
int main(void)
{
int (*p)[10];
printf("%ld %ld\n",sizeof(p),sizeof(int (*)[10]));//打印出来4,4告诉我们这应该是一个指针类型
printf("%ld %ld\n",sizeof(*p),sizeof(int [10]));//代表*p是一个指针,指向一个数组类型的指针,指向10整形类型的数组
int a[10]={1};
int b[10]={1};
p = &a;
//指向整个数组
int * q = b;
//指向首元素的指针
printf("%p\n", a);
printf("%p\n", &a);
return 0;
}原文:http://blog.csdn.net/u012516914/article/details/43614685