对数组名的理解

网友投稿 582 2022-11-18

对数组名的理解

对数组名的理解

数组名的理解:

1.在实际应用中,大多数数组名的值是个指针常量,也就是数组的第一个元素地址。

算中,不能把数组名理解成第一个元素指针(常量)。(在C语言中数组只能做sizeof、[]、&三种运算)。

3.取一个数组名的地址所产生的是一个指向数组的指针,而不是一个指向某个指针常量的指针。

验证程序

#include

int a[4] = {1,2,3,4};

int main(int argc, const char *argv[])

{

int *p = (int *)&a;

printf("a=%p,a+1=%p\n",a,a+1);

printf("&a=%p,&a+1=%p\n",&a,&a+1);

printf("*(&a+1)=%d,*(a+1)=%d",*(&a+1),*(a+1));

return 0;

}

打印结果

a=0x804a014,a+1=0x804a018

&a=0x804a014,&a+1=0x804a024

*(p-1)=4,*(a+1)=2

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:笔试题 -- 重载、重写(覆盖)、隐藏
下一篇:Mybatis注解方式完成输入参数为list的SQL语句拼接方式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~