A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 冯大卫 中级黑马   /  2014-9-2 00:35  /  2051 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如题Int *p=&a[0]和Int *p=a一样吗

13 个回复

倒序浏览
都是数组首地址
回复 使用道具 举报
结果是一样的
回复 使用道具 举报
Int *p=a; 会报错吧。 指针只能指向地址。
回复 使用道具 举报
Int *p=&a[0]和Int *p=a不一样,后者是错误的,指针变量不可以直接赋值我一个整型常量,因为我们不知道这块内存是哪块地址
回复 使用道具 举报
补充一下,楼主的意思是存在一个a[]数组,这里的a就相当于一个地址。因此int *p=a,是可以定义并初始化的。而&a[0]跟a是同一个地址,所以两个表达的意思都是一样的。
回复 使用道具 举报
是的....
回复 使用道具 举报
Int*p=&a[0]和Int*p=a不一样,Int*p=a,这样写不对,前者是指数组a[]首个元素地址
回复 使用道具 举报
完全不一样!两码事,这个得仔细研究数组名和指针的区别
回复 使用道具 举报
看来楼主对a声明的隐藏导至大家对a的数据类型的认识有所不同,进而对答案各有各的看法,不过我个人认为,a的声明应该就是一个数组,既然拿来比较,没理由类型不一样才对。
回复 使用道具 举报
应该是一样的啊!
回复 使用道具 举报
指针在声明时初始化的只能是地址,int *p = a;  a是数组首地址完全可以初始化p
回复 使用道具 举报
x65396731 发表于 2014-9-2 10:38
Int *p=a; 会报错吧。 指针只能指向地址。

a 是数组啊,哥哥!
回复 使用道具 举报
如果a是数组那就一样,都是指向首个元素地址
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马