引發了異常: 讀取訪問權限衝突。 p2 是 0x40

先贊後看  養成習慣

關注公衆號:不會編程的程序圓   看更多幹貨

這裏分享一個在vs2019下我遇到的一個報錯。

這是報錯的代碼:

 

 

但是當我們這麼改 它就可正常輸出了

下面我說的問題也許不是這個錯誤解決的正確原因,但是這個問題足以讓大家提高對指針大小的認識: 

在錯誤的情況下:char str2

字符串str2每一個字符大小爲1個字節

在這種情況下執行下面的賦值就會有問題

char* p2 (4個字節)= str2(一個字節) 

而在char* str2的情況下str2每一個字符大小爲4個字節

這麼修改還是報錯,說明確實不是問題,那麼真正的問題是什麼呢? 

 

但是,當我們這麼改的時候:

它也可以正確輸出!


 

總結: 

char str  = "You are ...."  當這麼寫的時候,只是將Y賦給了str,因爲str是字符,存貯不了字符串

但是一下兩種寫法是可以表示字符串的:

char* str

char str[]

 


 

微信公衆號 第一手文章資料我都會在這發佈,感謝大家的關注!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章