[問題] 新手指標問題 (int與char的差別)

看板C_and_CPP (C/C++)作者 (Cards' Ace)時間16年前 (2009/07/14 01:13), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
今天在釐清指標的觀念,卻遇到了一個看似簡單卻解釋不出來的問題 我各assign一個指標指到一個integer變數及一個character變數 並觀察指標內所存及所指的東西,程式碼如下: int i=5; char c='A'; int *iptr = &i; char *cptr = &c; cout << i << '\t' << &i << '\t' << iptr << '\t' << *iptr << '\t' << &iptr << endl; cout << c << '\t' << &c << '\t' << cptr << '\t' << *cptr << '\t' << &cptr << endl; 輸出結果: 5 0x23ff7c 0x23ff7c 5 0x23ff74 A A A A 0x23ff70 大部份結果都符合我預期,但是反白部份我就想不通了 為何反白部份出現的不是c這個變數的記憶體位址呢? 還麻煩指點一下了,謝謝 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.141.6.125

07/14 01:20, , 1F
cout吃到char *會當字串
07/14 01:20, 1F

07/14 01:21, , 2F
(void *)&c
07/14 01:21, 2F
文章代碼(AID): #1AMsirO1 (C_and_CPP)
文章代碼(AID): #1AMsirO1 (C_and_CPP)