看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 剛剛看到十三誡之三 想到不可將值寫到不知指向何方的指標 但最近在書上看到以下例子 Ex.char *string="Hello"; 現在觀念上有點模糊 請大家幫忙解惑 感謝 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.50.57.101
ianfang:這是宣告順便初始化 string指向字串常數 "Hello"存於記憶 03/17 13:04
ianfang:某處 你疑惑的點在哪? 03/17 13:04
purpose:編譯程式的時候,編譯器會替 string literal ("Hello") 03/17 13:10
purpose:選一個地方存放,順便把該處的記憶體位址傳給等號左邊指標 03/17 13:11
purpose:這不算不知指向何方,應該說授權給編譯器去找地方放 03/17 13:12
james732:int *p; 這樣沒有給他一個等號(=)的,才是不知道指向何方 03/17 13:16
abzxcx:應該是宣告一個string存指向字元的指標, 03/17 14:04
abzxcx:然後那個字串應該是compiler會宣告成C格式的一維字串 03/17 14:07
abzxcx:然後把字串的第一個字元的記憶體位置存到 *string 03/17 14:07
abzxcx:小的淺見.....如有錯誤請糾正 03/17 14:07