黑马程序员技术交流社区

标题: C中的数组。 [打印本页]

作者: baihongguang10    时间: 2016-9-14 22:43
标题: C中的数组。
int arr[] = {234,32,234,456,768,789,5};

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

作者: ln931460905    时间: 2016-9-15 11:44
直接写数组名就是指数组中的第一个元素的地址
作者: 绕指柔荑    时间: 2016-9-21 12:38
&arr[0] 是取出数组第一个元素的地址  
arr 代表数组的地址  
&arr  取出数组的地址
这3个的值是相等的
作者: 151678537    时间: 2016-9-21 19:11
加uuuuuuuuuuuuu
作者: 朱儿008    时间: 2016-9-22 23:46
数组的地址==数组名==数组中的低字节的地址==数组中下标为0的元素的地址==数组中下标为0的元素的低字节的地址
打印数组名用%p

&arr[0]  取出下标为0 的元素的地址
printf("%p",arr);   arr代表首元素的地址,即arr[0],所以输出的结果跟&arr[0]是一样的
&arr  就是打印出数组地址
三个打印结果是一样的,但代表的意义是不一样的。
作者: 151678537    时间: 2016-9-23 00:42
打印的都是第一个的地址




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2