Chinaunix

标题: 哭,有人跟我一样犯这样的错误吗 [打印本页]

作者: yangpinglaji001    时间: 2014-03-06 18:25
标题: 哭,有人跟我一样犯这样的错误吗
int a[5] = {0};

int* p = (int* )(a+1)

int* q = (int* )(&a+1)

脑子里一直想着对于数组a, a与&a的值是一样的。懵了,他们递进操作结果是不一样
作者: yangpinglaji001    时间: 2014-03-06 18:26
不知道脑子里还有多少这种错误的定式思维
作者: Fixend    时间: 2014-03-07 00:16
a和&a值相同,但意义不一样的。
作者: lin5161678    时间: 2014-03-07 09:44
从来没犯过这错误
搞清楚各种的数据类型 这点问题很容易理解
按照谭渣里面 数组的地址 这样的说法 想正确理解需要扭曲不少脑细胞
作者: yangpinglaji001    时间: 2014-03-07 10:29
我是不是被洗脑了回复 4# lin5161678


   
作者: happy_fish100    时间: 2014-03-07 16:49
a与&a的值不一样!
a和&a[0]的值是一样滴!
作者: 叶叶叶Yeah    时间: 2014-03-07 22:55
happy_fish100 发表于 2014-03-07 16:49
a与&a的值不一样!
a和&a[0]的值是一样滴!


你确定?

作者: idi0t    时间: 2014-03-08 13:27
回复 6# happy_fish100


    版主,r u sure?
作者: Hugo801122    时间: 2014-03-08 14:06
指针没学好啊楼主。
作者: 4059056    时间: 2014-03-09 13:32
a和&a的值是一样的回复 6# happy_fish100


   
作者: happy_fish100    时间: 2014-03-10 15:00
回复 10# 4059056

实测了一下,的确如此。记得谭浩强那边书上也是这么写的。
作者: 幻の上帝    时间: 2014-03-11 13:31
回复 6# happy_fish100

又是个新鲜的受害者。
类型相同是值相同的必要非充分条件。

作者: 幻の上帝    时间: 2014-03-11 13:32
回复 10# 4059056

上面回错了,应该点这楼。
但是上面还是有问题。数组a在声明之后,表达式a的值的类型上下文相关。






欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2