请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

結構體成員賦值問題

老師請問為什麼使用字元陣列來表示字串無法直接賦值修改而使用指標就可以呢?
開發環境是VSCode+MinGW
實際情況如下:
VSCode+MinGW
使用char陣列的species成員不能被修改成其他字串
使用char指標的location成員卻可以被修改成其他字串

請問老師這是為什麼呢?

正在回答

1回答

bennyhuo 2021-01-19 17:56:59

因为species是数组,只能单独修改元素。你可以使用strcpy复制字符串到字符数组当中。

指针不一样,指针只是个地址,赋值只是指向那个字符串而已。

1 回复 有任何疑惑可以回复我~
  • 提问者 阿寶1118 #1
    歐~瞭解了!
    那老師我想請問
    如果指標指向新的記憶體位置(字符串)後
    原本的字符串會自動釋放嗎?
    還是就閒置在那了?
    回复 有任何疑惑可以回复我~ 2021-01-19 18:09:22
  • bennyhuo 回复 提问者 阿寶1118 #2
    不会的。这里的字面量字符串在静态区不会释放,其他情况页数具体看指向的内存是怎么开辟的。
    回复 有任何疑惑可以回复我~ 2021-01-19 19:28:44
  • 提问者 阿寶1118 #3
    謝謝老師的回答,辛苦了。
    回复 有任何疑惑可以回复我~ 2021-01-19 20:05:12

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信