指標到底能不能修改其指向的常量字串

2021-08-08 21:11:19 字數 626 閱讀 7355

1.指標到底能不能修改其指向的常量字串?今天做乙個字串右移函式時,直接使用指標來修改字串常量的值出現了奇怪執行時錯誤。 

**如下:

#include"stdio.h"

#include"string.h"

void loopmove(char*pstr,int steps)

*(pstr+0)=temp ;

}}int main()

*(pstr+j)=*(pstr+j-1) ;從錯誤的型別來看是記憶體寫入錯誤,說明對*(pstr+j)的賦值非法

2.然後做了個小測試發現仍然存在這樣的錯誤,說明錯誤應該是因為指標p指向字串常量導致。執行時出現錯誤:loopmove.exe 中的 0x00cf141c 處有未經處理的異常: 0xc0000005: 寫入位置 0x00cf5748 時發生訪問衝突。 

出錯的位置是: 

#include

using

namespace

std ;

int main()

*(pstr+0)=temp ;

}}int main()

指標到底能不能修改其指向的常量字串

1.指標到底能不能修改其指向的常量字串?今天做乙個字串右移函式時,直接使用指標來修改字串常量的值出現了奇怪執行時錯誤。如下 include stdio.h include string.h void loopmove char pstr,int steps pstr 0 temp int main ...

指標就算指向了常量也不能修改這個常量

先來看我這個低階的錯誤 include int main int argc,char argv while ch2 i 0 ch1 i 0 printf string s ch1 return 0 當執行時直接出來main.exe停止工作,仔細檢查時發現char指標指向了常量,我這相當於在修改常量,...

華為的鴻蒙系統,到底能不能替代安卓?

最近華為又上熱搜了,台積電可能將斷供華為,麒麟晶元也許要迎來暫時的終極版的1020,以後沒有先進製程代工的加持,麒麟晶元效能將極有可能要倒退,中芯國際目前的量產製程還停留在14nm,短時間內看不到超越台積電的可能。華為高階手機將面臨前所未有的挑戰。對於做了n年安卓開發的程式設計師們來說,這意味著什麼...