Re: [問題] 請問C語言中指標宣告與字串
※ 引述《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家唱片公司合法授權 音樂盡情下載
--
推
08/22 19:13, , 1F
08/22 19:13, 1F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):