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

字符型指针变量的赋值问题

char str[]="hello" 很好理解,就是给字符数组 str[] 赋值"hello";

但是 char *str2="world" 该怎么理解?这是给指针变量 str2 赋值"world"?可是指针变量里面存的不应该是内存地址吗?怎么可以赋值一个字符串?

正在回答

1 回答

每个字符串在内存中都占用一段连续的存储空间。并有唯一确定的首地址。因此可以将字符串的首地址赋值给字符指针。则可以让字符指针指向一个字符串。对于字符串常量而言,字符串常量本身就代表他常量存储区的首地址。

运行的时候,就加载了。是无法更改的,在我们的内存中代码段中的。栈内存和堆内存才能更改。


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

六个蒸蛋 提问者

所以 char *str2="world" 是将字符 w 的地址赋值给指针变量 str2,对吧?
2019-11-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Linux C语言指针与内存
  • 参与学习       116503    人
  • 解答问题       250    个

指针-C语言的核心,代领大家对c语言有更加深刻的理解

进入课程

字符型指针变量的赋值问题

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