为了账号安全,请及时绑定邮箱和手机立即绑定

对老师的疑惑点

  1. 说str是常量但是它还是分配在栈里面的

  2. “hello”常量不是应该在数据区嘛

正在回答

3 回答

我的理解不知道对否,有问题还望提出以便改正。

str(指针常量)的内容是一个固定的地址,而str是这个地址的名字,它被存放在&str下,也就是栈里。即栈里存放的是str,str里存放的是指针常量。

hello是否是常量取决于它赋给谁,赋给字符指针变量时因为没有分配空间所以就会放在常量区当作常量,赋给数组时分配了空间,这个空间是系统在栈里分配的。

0 回复 有任何疑惑可以回复我~

这里不是常量的。是变量。

0 回复 有任何疑惑可以回复我~

这里str只是个变量,它在栈里面。“hello”是某个变量的值,它被存储在在相应变量的内存空间内。只有const声明的常量或全局变量才在数据段里。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

对老师的疑惑点

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信