发布网友 发布时间:2024-10-24 14:58
共2个回答
热心网友 时间:2024-10-29 17:04
变量可以取地址,因为编译器会在内存中分配一个空间来存储对应的数值。
常量,尤其是数值型数据,它会被直接放到汇编指令里面,比如一个赋值语句
c=508;
编译的结果,很可能就是MOV R1, #508这样的一个汇编语句。
那就谈不上地址了。
字符串型常量,比如“HELLO”,它就会是放在某个内存空间中,待程序去读取的。
这个问题,可以通过反汇编来查看。高级语言的行为,最终是要转换成机器语言来得到执行的。
热心网友 时间:2024-10-29 17:05
立即数常量没有地址 它是直接包含在指令中 而不是在内存中 只有存在数据段内存中的变量才能取地址