指针指向数组
很神奇,不但普通指针* p能指向二维数组ar[2][2];
*(*p)[2]也能指向它!
- C/C++ code
#include<stdio.h>int main(void){ int (*p)[2]; int ar[2][2]={{1,2},{4,8}}; p=ar; printf("%d\n",**p); printf("%d\n",*((*p)+2)); return 0;}
- C/C++ code
#include<stdio.h>int main(void){ int *p; int ar[2][2]={{1,2},{4,8}}; p=ar[0]; //这里为什么地址不一样了呢? printf("%d\n",*p); printf("%d\n",*(p+2)); return 0;}
[解决办法]
指针就是地址. 只要是地址就可以赋给指针变量. 当然了, 类型得匹配! 说错请指正哈!