int arr[10]; int *p1 = arr; int *p2 = (int*)&arr; int (*p3)[10] = &arr;printf("%p %p %p", p1, p2, p3);
int *p1 = arr;
error: cannot convert 'int (*)[10]' to 'int*' in initialization
void foo() {} printf("%p %p\n", foo, &foo);这里打印出
0x100000f40 0x100000f40
与数组名的区别在于