中易网

新手学c语言

答案:3  悬赏:20  
解决时间 2021-01-17 03:26
新手学c语言
最佳答案
数组其实就是一些元素的集合,那么数组在C语言里面是怎么储存信息的呢,因为数组有那么多元素,a到底表达什么。
c语言中a的意思就是第一个元素的地址。a[x]代表往后偏移x个的地址的值,你也可以表达成*(a+x),两个表达式并无差别。
追问:我知道a就是第一个元素的地址,那么&a为什么也是第一个元素的地址?
追答:数组分二维数组一维数组,你定义a[]就是一维数组,a就是对这一维数组元素的取址。如果定义b[][],那么b[]就是对一维数组元素的取址,b就是对二维数组元素的取址。而&a跟b是一个等级,是对a二维数组元素的取址,而二维数组的元素就是每个一维数组。虽然地址还是那个值,但表达的元素种类却变了。你试试输出a+1和(&a)+1试试。字节跨度变了。前者偏移1个变量的字节,后者偏移n个变量的字节,n是数组元素的个数。你可以想象成指针,a指向a[0],&a指向整个数组。任何指针包含2个信息,一是指向的起始地址,而是指向的地址长度。a和&a指向地址都没变,但是长度变了
全部回答
在数组里数组名 代表的就是地址 你把%d换成%p试试
追问:数组名代表的是地址,数组名就是指针
追答:&a是这一个数组的起始地址 a是数组第一个的第一个 地址是一样的
追问:可以画图看看吗
追答:没笔纸 意思就是a是数组的地址也就是数组第一个的地址而&a是数组的地址 的地址 换算下来 不是一样的嘛
值一样正确啊!a是元素1的地址,&a是a的地址,但二者的意义不同,a叫数组名也叫数组1、2、3的“首地址”即第一个元素的地址,a+1就是第二个元素2的地址;而&a是数组1、2、3这一行的地址,&a+1就是第二行(3后面那个元素所在的地址)。所以它们值一样但意义不同。另外,实践中,一排站3个人,第一个人所站的地方既是他站的地方,也是这三个人一行的行开始的地方,所以行地址(&a)和数组的首地址(a)值一样很好理解;实际上,就是存放a作为数组名的那个地方存放就是数组名a存放的地址——这一层管理机制在C/C++中对程序员是透明的,我们并不清楚是怎么管理的,作为编程者也无需清楚,就像int n=3;中n是变量名,可是它在哪里?为什么再写个n=7;就会把7写进存放n变量的地址中?&n和n之间怎么管理的我们也不清楚……
追问:可以画图看看吗
追答:
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如何快速去除装修墙壁上的石灰粉
种植植物时粘质土加沙子是不是就变成沙
农业银行异地跨省取款500元收多少手续费?
地税已申报首页却同时显示未申报已申报和零申
减肥消脂瘦身梅多少钱一盒
‘猫哆哩’和‘骚哆哩’是什么意思?
头戴星冠光耀耀,身披锦绣彩霞飘。面如满月多
二手车问题,一辆里程为5-6万公里的车,对于
石河子市审计局地址好找么,我有些事要过去
联邦国际家具城地址有知道的么?有点事想过去
有哪些插画师是画萌系插画的..
湘潭至江门怎么最快
小羽七次数学测验平均分为a,后五次的平均分
PP焊条可以焊PPR板材吗
舍小爱,为大爱是什么意思
推荐资讯
大众便利店地址在什么地方,想过去办事
圣经哪里提到撒旦
烤曲奇饼干,如何确定已经烤好了?
生命再长 不过烟火 ,落下了眼角,世界再大
一个人就算你在大得贡劳在大的风工伟绩在大的
既然物质不会消失,那为什么要节约用水
中美联合抗日电视剧都有什么
一骑当千被打屁股是那集?
陈雷的人物简述
She()in the US
植发费用大概需要多少?
怎么在type3上用一个刀做深浅不一切割和雕刻
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?