作者zzss2003 (brotherD)
看板C_and_CPP
標題[問題] 字元與字串的關係
時間Tue Jan 23 15:12:31 2018
hi,魯蛇小弟我在看C How to program 6/e時,看到了這段話:
"The value of a string is the address of its first character"
字串的值是第一個字元的位址
所以小弟我做了一個實驗,圖:
https://imgur.com/a/wpuXV
用GCC編譯的結果,這個string的值為h,並不是h的位址
請問各位大大,小弟的實驗在觀念上哪裡有錯誤嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.26.157
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1516691553.A.0C3.html
1F:推 stupid0319: h的位址的地方值是h 01/23 15:29
2F:→ stupid0319: 值是*p,位置是p 01/23 15:32
3F:→ stupid0319: 我比較喜歡吧char*當型態來看,char *p = char* p 01/23 15:34
所以一個string的值 = 第一個character的值囉@@?
4F:→ uranusjr: char * 本來就是型別, 不是喜不喜歡的問題它本來就是... 01/23 15:39
5F:噓 MOONRAKER: (1)用抓圖貼程式到底是什麼歪風。 01/23 15:44
6F:→ MOONRAKER: (2)你並不是印出"the value of a string". 01/23 15:46
7F:推 steve1012: 你不是用星號 dereference 了嗎? 知道 dereference 01/23 16:38
8F:→ steve1012: 的意思? 01/23 16:38
dereference就是取值,所以我是取p這個address的值,p的address就是h的adrress
9F:噓 Sidney0503: 格式 01/23 16:43
拍謝~您說的格式是指一開始內建的那些問題嗎
10F:噓 loveflames: 圖是要貼幾次你才滿意,有置底網站不用? 01/23 17:31
想說可以順便給大家看debug的參數跟console輸出的結果,所以就用截圖的了
※ 編輯: zzss2003 (60.248.26.157), 01/23/2018 17:44:30
11F:噓 Neisseria: 貼圖想幫你的忙還要重打一次程式,這樣很有效率? 01/23 18:22
12F:→ Neisseria: 那些 debug 訊息都可以另外貼文字到板上 01/23 18:22
您講得有道理@@下一次我把程式碼貼到置底網站上
13F:推 peterwu4: 先假設你不是裝瘋賣傻(XD),如果你想得到'h'所在的位址 01/23 18:27
14F:→ peterwu4: ,那你printf裡的輸出格式為什麼是%c呢? 01/23 18:28
對欸...我沒注意到Orz...
15F:推 chuegou: 何不把p *p &p 都印出來看看 01/23 19:22
16F:噓 Ommm5566: 用抓圖貼程式到底是什麼歪風+1 01/23 20:51
17F:→ uranusjr: 貼圖是 Facebook 和 LINE 群組傳來的啊, 在那裡貼純文字 01/23 20:52
18F:→ uranusjr: 會跑格式所以貼圖是正規作法 01/23 20:52
19F:噓 Ommm5566: 那滾去fb和line阿 01/23 20:53
20F:→ Ommm5566: 連打字都不會就別上ptt了 01/23 20:54
21F:噓 druid0214: @MOONRAKER 其實是因為大家會回文才造成蔡逼八發伸手文 01/23 21:05
22F:→ druid0214: 如果大家自制一點不要回這種沒準水的發問 自然就不會有 01/23 21:05
23F:推 steve1012: dereference 取ptr指向的位置所存的值 並不是指向的位 01/23 23:58
24F:→ steve1012: 置 請重念一下 dereferwnce 是什麼 01/23 23:58
25F:推 TWkobe: 說用滾的也不是什麼好貨色 01/24 00:46
26F:推 stupid0319: 學C難免會在指標的使用上跌倒,滿常見的吧 01/24 01:12
27F:噓 Ommm5566: 最近程式碼是貼圖的越來越多 之前很少 誰跟你很常見 01/24 07:32
28F:噓 loveflames: 就是有人放縱,才會有此篇那種一而再,再而三的,如果 01/24 08:00
29F:→ loveflames: 說是不小心po一篇就罷了,長期都這樣搞 01/24 08:00
30F:推 alan23273850: printf 裡面把星號拿掉就對了 01/24 09:57
※ 編輯: zzss2003 (60.248.26.157), 01/24/2018 11:20:59
31F:→ hunandy14: facebook和line也可以貼程式碼網址 01/24 12:05
32F:→ hunandy14: 只是貼的人沒顧慮到看的人吧 01/24 12:05
33F:→ hunandy14: 這也這樣貼就是連板規也不看了QQ 01/24 12:07