[問題] 新手指標的問題

看板C_and_CPP (C/C++)作者時間13年前 (2012/08/26 23:02), 編輯推噓3(3018)
留言21則, 7人參與, 最新討論串2/3 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) vc2005 問題(Question): 最近面是遇到一個問題,一個程式的輸出原本是*p表示 想請問如果想用改成&P表示輸出的話,應該要使用到什麼觀念呢 (要往雙重指標方向思考嗎?) 謝謝 (不適合發問會盡快自d) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 36.224.102.194

08/26 23:09, , 1F
你想自d也沒辦法的...
08/26 23:09, 1F

08/26 23:09, , 2F
話說我看不太懂這個意思,是要問ref?
08/26 23:09, 2F
想請問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)

08/26 23:16, , 3F
**&p ??
08/26 23:16, 3F

08/26 23:16, , 4F
**&p
08/26 23:16, 4F

08/26 23:28, , 5F
我也看不懂,可否舉例說明?
08/26 23:28, 5F

08/26 23:38, , 6F
int p=2; int &p1=p; <-你是問這個?
08/26 23:38, 6F

08/26 23:41, , 7F
應該不是吧?
08/26 23:41, 7F
抱歉,說的不太清楚,&p如果要用&p1方式表示 &p=???&p1,???指的是我該填的符號 ※ 編輯: williamsm 來自: 36.224.102.194 (08/26 23:46)

08/26 23:59, , 8F
printf("%p",&p); <-你要把裡面的&p改成&p1???
08/26 23:59, 8F

08/27 00:03, , 9F
如果是的話,用*&p1應該就是了。
08/27 00:03, 9F

08/27 00:25, , 10F
我還是不太懂...我國文老師請假了
08/27 00:25, 10F

08/27 00:25, , 11F
給個code我想會比較清楚
08/27 00:25, 11F

08/27 00:27, , 12F
的確,我也搞不懂。
08/27 00:27, 12F

08/27 00:27, , 13F
大概是我國文課時常請假
08/27 00:27, 13F

08/27 02:34, , 14F
int p=2; 表示你宣告了一個int type的變數 變數名稱p
08/27 02:34, 14F

08/27 02:35, , 15F
並且在宣告的時候指定他的初始值為2; int *p1 表示你
08/27 02:35, 15F

08/27 02:37, , 16F
宣告了一個 int type的指標 指標名稱為p1 並且在宣告時
08/27 02:37, 16F

08/27 02:40, , 17F
指定它指向變數p的位址 (&p為變數p的位址) 所以你要以
08/27 02:40, 17F

08/27 02:42, , 18F
&p的方式表示輸出 (我猜你是想要&p位址裡面的數值)
08/27 02:42, 18F

08/27 02:48, , 19F
你可以用printf("%p %d ",p1,*p1);%p會得到你要的&p地址
08/27 02:48, 19F

08/27 02:48, , 20F
這樣問誰看得懂啊
08/27 02:48, 20F

08/27 02:49, , 21F
%d會得到你存在&p位址裡面的數值 看你是要哪一個
08/27 02:49, 21F
文章代碼(AID): #1GEZgFyq (C_and_CPP)
文章代碼(AID): #1GEZgFyq (C_and_CPP)