PTT
Submit
Submit
選擇語言
正體中文
简体中文
PTT
C_and_CPP
[問題] 雙重指標
作者:
spong
(請輸入ID)
2020-06-15 01:40:38
#include<iostream>
using namespace std;
int main(void)
{
int x = 5;
int *ptr=&x;
int **temp =&ptr;
cout << "&ptr="<<ptr<< endl;
cout << "*ptr=" << *ptr<< endl;
cout << "&temp=" <<temp <<endl;
cout << "**temp="<<**temp <<endl;
return 0;
}
既然雙重指標,是指標的指標,為什麼不能宣告int *temp 去指向 int *ptr呢?
一定要用**temp?
作者:
loveme00835
(髮箍)
2020-06-15 01:51:00
型別才是最重要的, 不要用值去學習
作者:
poolongkong
(普攏貢)
2020-06-15 02:21:00
https://ideone.com/4r5xXd
其實這個寫法的概念就跟value vs. pointer是一樣的如果想要保留變數在函式中的任何操作,可以透過傳遞變數位址的方式同理,如果想要保留一維指標在函式中的操作,可以透過傳遞指標位址的方式
作者:
sarafciel
(Cattuz)
2020-06-15 10:55:00
你的code在語意上錯了 ptr跟&ptr是不一樣的
作者:
Richun
(解放左手的OO之力)
2020-06-15 14:40:00
你可以試著用指標實作一個二維陣列 試試只有int*會怎樣int**我會解釋成(int*)*,是存一個(int*)變數的位址的型態
作者:
loveme00835
(髮箍)
2020-06-15 15:57:00
把指標值印出來當參考的這種學習方法很大機會是概念理解有誤, 處理複雜一點的型別就會出問題
作者:
chuegou
(chuegou)
2020-06-15 21:38:00
指向“型別為指標的變數”的指標指向“型別為int的變數”的指標被指的東西不一樣
作者:
dces4212
(flawless)
2020-06-17 00:14:00
對名字誤解也會讓你難理解它的用途,他不叫雙重指標,而是指標的指標,顧名思義,他是指向指標的指標,主要用來操作指標的內容(記憶體位址),而非其對應資料型態所指向的資料*所指的資料
繼續閱讀
[問題] polling function timer問題
howard6066
[問題] 二維陣列與指標疑惑
spong
[問題] clang:no such file or directory
LittleLie
[討論] Dijkstra UVa-10986 [已解決]
darrenlee1
[問題] 關於互斥的問題
asdfg1597860
Re: [問題] cpp中if的==與=差別
loveme00835
[問題] cpp中if的==與=差別
HwangTW
[問題] 關於c的運算子優先權問題
ac01965159
[問題] range min query 建表太大 如何解?
momo988
[問題] 新手Overloading operator ==問題請益
john2223k
Links
booklink
Contact Us: admin [ a t ] ucptt.com