ID216
2016-10-06 23:50
说str是常量但是它还是分配在栈里面的
“hello”常量不是应该在数据区嘛
我的理解不知道对否,有问题还望提出以便改正。
str(指针常量)的内容是一个固定的地址,而str是这个地址的名字,它被存放在&str下,也就是栈里。即栈里存放的是str,str里存放的是指针常量。
hello是否是常量取决于它赋给谁,赋给字符指针变量时因为没有分配空间所以就会放在常量区当作常量,赋给数组时分配了空间,这个空间是系统在栈里分配的。
这里不是常量的。是变量。
这里str只是个变量,它在栈里面。“hello”是某个变量的值,它被存储在在相应变量的内存空间内。只有const声明的常量或全局变量才在数据段里。
Linux C语言指针与内存
116627 学习 · 254 问题
相似问题