2 hcc000000 hcc000000 于 2014.04.25 11:38 提问

关于c语言数组指针的问题
#include <stdio.h>
int main (void){
    int arry[3][3] = {1,2,3,4,5,6,7,8,9};
    printf("%p\n",arry);
    printf("%p\n",*arry);
    printf("%p\n",arry[0]);
    printf("%p\n",&arry[0]);
    printf("%p\n",&arry[0][0]);
    return 0;
}

输出结果为:
0xbfc6925c
0xbfc6925c
0xbfc6925c
0xbfc6925c
0xbfc6925c
都是相同的,请问为什么?谢谢

2个回答

xy707707
xy707707   2014.06.02 17:06

那是因为“%p”的作用啊,都输出了数组,或者是数组中第一个元素的地址。

aa283303856
aa283303856   2015.08.19 22:38

楼上正解,你这打印的都是该数组的首地址。建议自己画草图看下

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!