日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

指向字符串的指针为何不能用来修改此字符串

發布時間:2025/3/20 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 指向字符串的指针为何不能用来修改此字符串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 指向字符串的指針為何不能用來修改此字符串
  • 為何char a[ ]可以修改字符串

指向字符串的指針為何不能用來修改此字符串

如上圖操作,指向字符串的指針不能用來修改此字符串,會出錯。這是因為: char *p="hello"; 等價于 const char *m="hello"; 對于指針p,無非就是一個地址的拷貝,也就是"hello"地址的拷貝。 "hello"保存在靜態的存儲區,該數據不能修改。 故不能通過指針p修改數據區的值

為何char a[ ]可以修改字符串

為啥它可以修改呢?這是因為: "hello" 保存在棧空間數組里,數組名為a, 數組名為數組的首地址。 char a[]="hello"; 是從靜態存儲區(常量區)復制內容副本(即hello)到棧里給了 a[] 所以 所以a[] 本身有一個自己的 hello 副本,可以對其進行想要的合法操作,例如:改變字符串的內容。

總結

以上是生活随笔為你收集整理的指向字符串的指针为何不能用来修改此字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。