读书人

指针指向数组解决方案

发布时间: 2012-04-17 15:06:33 作者: rapoo

指针指向数组
很神奇,不但普通指针* 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;}


[解决办法]
指针就是地址. 只要是地址就可以赋给指针变量. 当然了, 类型得匹配! 说错请指正哈!

读书人网 >C语言

热点推荐