啊哈磊_编程从这里起步
标题:
数组首地址的存储位置在哪里?
[打印本页]
作者:
fengzhenging
时间:
2013-9-30 00:26
标题:
数组首地址的存储位置在哪里?
假设 inta[]={1,2,3};那么a作为首个元素的地址,它会存储在哪?除了数组的3*4=12个字节外,还会另外开辟内存存储吗?
作者:
rosynirvana
时间:
2013-9-30 00:26
velvetblue 发表于 2013-10-1 20:02
数组名字a,及对应的首地址,当然需要内存空间存储。不过一般不用关心它存在哪个位置。
其实每个变量的名字 ...
首先,不是所有地址都需要存储的,因为编译器会优化,某些变量的值会直接写成text段中的立即数
然后,变量名是(可以)不存储的,因为CPU根本不理解什么叫变量,所有变量都会被替换成地址
但是ELF可执行文件存储extern scope的符号名,这对正常运行没有影响,只是为了汇编级的debug使用
作者:
rosynirvana
时间:
2013-9-30 00:53
1.a 不是首元素的地址,只是在某些语义下编译器将其转化为首地址
2.不会
作者:
velvetblue
时间:
2013-10-1 20:02
数组名字a,及对应的首地址,当然需要内存空间存储。不过一般不用关心它存在哪个位置。
其实每个变量的名字,及其对应的首地址,都是需存储的,变量自身占用的内存,是另外一件事。
作者:
4399APPLE
时间:
2013-10-7 21:08
数组名字a,及对应的首地址,当然需要内存空间存储。不过一般不用关心它存在哪个位置。
其实每个变量的名字,及其对应的首地址,都是需存储的,变量自身占用的内存,是另外一件事。
欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/)
Powered by Discuz! X3.2