64,683
社区成员
发帖
与我相关
我的任务
分享
int a[5] = { 1,2,3,4,5 }; // a相当于int* const类型,&a[0]是int*类型,&a是int(*)[5]类型即行指针,三者的值都是一样的。
void *p1 = a;
int *p2 = a;
int *p3 = &a[0];
int *p4 = (int*)&a;
int (*p5)[5] = &a;
long p6 = (long)a;
double *p7 = (double*) a;
char *p8 = (char*) (long*)(long)a;
指针是有类型的,指针的值即地址却谈不上什么类型,说白了就是一个无符号整数,你想怎么转都行,自己保证安全。
而++ --的操作就跟指针类型有关了。