看板 Programming 關於我們 聯絡資訊
※ 引述《CCChieh.bbs@ptt.cc (敲口愛)》之銘言: > int *a=123; > char *a='c'; > 編譯時發生錯誤,可以理解成系統並沒有配置記憶體空間給pointer > 故pointer指向之記憶體位置並無法存放變數,而發生address access violation 非也 int *a=123; 錯誤,是因為不准這樣直接給值 char *a='c'; 等於 char *a=92; ,錯的原因也是一樣 access violation是run-time error,不會在compile-time發生。 > 又見 > char *a="qwe12312"; > 是個常見可行的寫法 > 但試問各位板友,編譯器如何去解釋這段指令 1)在常數區劃一段長度9的記憶體 2)放進'q','w','e','1','2','3','1','2','\0' 3)把這塊記憶體的開頭位址指定給a   -- 蒙帝派松正體中文計畫 (4/23) - 如何隱身 - SPAM - 英國殺人笑話 http://www.wretch.cc/blog/journeyman&article_id=14377810 ▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂ 法外科學暨工程顧問公司 http://www.wretch.cc/blog/journeyman/ ▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆ -- ┌─────KKCITY─────┐ KKBOX歌名歌手歌詞專輯搜尋 bbs.kkcity.com.tw http://www.kkbox.com.tw └──From:59.115.203.20 ──┘ 超過100家唱片公司合法授權 音樂盡情下載 --
CCChieh:感謝 218.174.134.87 08/22 19:13