黑马程序员技术交流社区
标题:
指针快虐死我了。
[打印本页]
作者:
runsunlife
时间:
2015-8-18 14:22
标题:
指针快虐死我了。
int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
// a+1 第二行第一个元素的地址
//*(a+1) == &a[1][0]
printf("*(a+1) = %p\n",*(a+1));
printf("&a[1][0] = %p\n",&a[1][0]);
// a+1 第二行第一个元素的地址
//*(a+1) == &a[1][0]
printf("*(a+1) = %p\n",*(a+1));
printf("&a[1][0] = %p\n",&a[1][0]);
不知哪位大神指针学得好。为何 /*(a+1) == &a[1][0]而不是等于*(a+1) == a[1][0]
作者:
15095185209
时间:
2015-8-18 14:34
加油啊!兄弟,还没看到指针呢!过来顶你啊!
作者:
runsunlife
时间:
2015-8-18 15:30
谢谢哈。加油
作者:
flywithde
时间:
2015-8-18 15:39
首先a[1][0]是一个数组元素的值,而不是地址,&a[1][0]才是地址,(a+1)是二维数组中第二个数组的首地址,即(a+1)存放的是一个地址,*(a+1)即取出(a+1)中存放的地址,而*(a+1)又是存放的一个一维数组的地址故*(a+1) == &a[1][0]
作者:
runsunlife
时间:
2015-8-18 16:42
flywithde 发表于 2015-8-18 15:39
首先a[1][0]是一个数组元素的值,而不是地址,&a[1][0]才是地址,(a+1)是二维数组中第二个数组的首地址, ...
{:3_47:}好像有点看明白了
作者:
庞佳星
时间:
2015-8-18 19:56
这个地方好好做做笔记,现在看完oc的内容了,我有得回去看看这块!!!!以后复习的时候也能用到。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2