Re: [問題] 請問C語言中指標宣告與字串

看板Programming作者 (冰心無情)時間16年前 (2008/08/22 15:22), 編輯推噓4(404)
留言8則, 4人參與, 最新討論串1/2 (看更多)
※ 引述《CCChieh (敲口愛)》之銘言: : int *a=123; : char *a='c'; : 編譯時發生錯誤,可以理解成系統並沒有配置記憶體空間給pointer : 故pointer指向之記憶體位置並無法存放變數,而發生address access violation 全錯 編譯期沒有memory access, 更不會出現address access violation compile error單純只是因為型別不合 : 又見 : char *a="qwe12312"; : 是個常見可行的寫法 compile會過是會過啦..不過最好加個const比較好 : 但試問各位板友,編譯器如何去解釋這段指令 : 記憶體是如何的配置?與上例相比兩者差異為何呢? 就compiler的角度來看應該差不多.. : 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.184.176 ※ 編輯: zerodevil 來自: 118.169.184.176 (08/22 15:23)

08/22 17:08, , 1F
不用加就是const了吧
08/22 17:08, 1F

08/22 18:38, , 2F
1.型別不合,但執行會出現上述問題
08/22 18:38, 2F

08/22 18:38, , 3F
2卻完全正確, 為何?
08/22 18:38, 3F

08/22 18:45, , 4F
上述問題指address access violation
08/22 18:45, 4F

08/22 18:59, , 5F
其實我不曉得你的1跟2是什麼
08/22 18:59, 5F

08/22 20:40, , 6F
int* && char* 那部份的確只能說型別不合
08/22 20:40, 6F

08/24 00:02, , 7F
nono~要給const才會放在.text區段
08/24 00:02, 7F

08/24 02:02, , 8F
是嗎= _=? "xxxabc"這串字串本身就是const
08/24 02:02, 8F
文章代碼(AID): #18hcab02 (Programming)
文章代碼(AID): #18hcab02 (Programming)