课程
/后端开发
/C
/Linux C语言指针与内存
说str是常量但是它还是分配在栈里面的
“hello”常量不是应该在数据区嘛
2016-10-06
源自:Linux C语言指针与内存 5-4
正在回答
我的理解不知道对否,有问题还望提出以便改正。
str(指针常量)的内容是一个固定的地址,而str是这个地址的名字,它被存放在&str下,也就是栈里。即栈里存放的是str,str里存放的是指针常量。
hello是否是常量取决于它赋给谁,赋给字符指针变量时因为没有分配空间所以就会放在常量区当作常量,赋给数组时分配了空间,这个空间是系统在栈里分配的。
这里不是常量的。是变量。
这里str只是个变量,它在栈里面。“hello”是某个变量的值,它被存储在在相应变量的内存空间内。只有const声明的常量或全局变量才在数据段里。
举报
指针-C语言的核心,代领大家对c语言有更加深刻的理解
5 回答以下代码,为什么老师结果是两个0,我的结果是num a=168595510 num b=32767,很疑惑,用的mac air,
1 回答我按照老师的代码写,结果怎么不对??
1 回答老师的例子绝对有问题5.1数组申明的内存排列
2 回答0x7fffffffffffffff 对应的是48位么
1 回答这门课有啥靠谱的重点啊