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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© baihongguang10 初级黑马   /  2016-9-14 22:43  /  1835 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int arr[] = {234,32,234,456,768,789,5};

printf("%p",&arr[0]);
下面这两个有点蒙啊。大神来讲讲。
printf("%p",arr);
printf("%p",&arr);

5 个回复

正序浏览
打印的都是第一个的地址
回复 使用道具 举报
数组的地址==数组名==数组中的低字节的地址==数组中下标为0的元素的地址==数组中下标为0的元素的低字节的地址
打印数组名用%p

&arr[0]  取出下标为0 的元素的地址
printf("%p",arr);   arr代表首元素的地址,即arr[0],所以输出的结果跟&arr[0]是一样的
&arr  就是打印出数组地址
三个打印结果是一样的,但代表的意义是不一样的。
回复 使用道具 举报
加uuuuuuuuuuuuu
回复 使用道具 举报
&arr[0] 是取出数组第一个元素的地址  
arr 代表数组的地址  
&arr  取出数组的地址
这3个的值是相等的
回复 使用道具 举报
直接写数组名就是指数组中的第一个元素的地址
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马