看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) vc2005 問題(Question): 最近面是遇到一個問題,一個程式的輸出原本是*p表示 想請問如果想用改成&P表示輸出的話,應該要使用到什麼觀念呢 (要往雙重指標方向思考嗎?) 謝謝 (不適合發問會盡快自d) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.224.102.194
diabloevagto:你想自d也沒辦法的... 08/26 23:09
diabloevagto:話說我看不太懂這個意思,是要問ref? 08/26 23:09
想請問d大 假如 int p=2; int *p1=&p; 目前是我只知道&跟*的定義與表示方式.. ※ 編輯: williamsm 來自: 36.224.102.194 (08/26 23:15) ※ 編輯: williamsm 來自: 36.224.102.194 (08/26 23:16)
leiyan:**&p ?? 08/26 23:16
EntHeEnd:**&p 08/26 23:16
james732:我也看不懂,可否舉例說明? 08/26 23:28
TsinTa:int p=2; int &p1=p; <-你是問這個? 08/26 23:38
TsinTa:應該不是吧? 08/26 23:41
抱歉,說的不太清楚,&p如果要用&p1方式表示 &p=???&p1,???指的是我該填的符號 ※ 編輯: williamsm 來自: 36.224.102.194 (08/26 23:46)
TsinTa:printf("%p",&p); <-你要把裡面的&p改成&p1??? 08/26 23:59
TsinTa:如果是的話,用*&p1應該就是了。 08/27 00:03
diabloevagto:我還是不太懂...我國文老師請假了 08/27 00:25
diabloevagto:給個code我想會比較清楚 08/27 00:25
TsinTa:的確,我也搞不懂。 08/27 00:27
TsinTa:大概是我國文課時常請假 08/27 00:27
b9307025:int p=2; 表示你宣告了一個int type的變數 變數名稱p 08/27 02:34
b9307025:並且在宣告的時候指定他的初始值為2; int *p1 表示你 08/27 02:35
b9307025:宣告了一個 int type的指標 指標名稱為p1 並且在宣告時 08/27 02:37
b9307025:指定它指向變數p的位址 (&p為變數p的位址) 所以你要以 08/27 02:40
b9307025:&p的方式表示輸出 (我猜你是想要&p位址裡面的數值) 08/27 02:42
b9307025:你可以用printf("%p %d ",p1,*p1);%p會得到你要的&p地址 08/27 02:48
purpose:這樣問誰看得懂啊 08/27 02:48
b9307025:%d會得到你存在&p位址裡面的數值 看你是要哪一個 08/27 02:49