1樓:匿名使用者
整型數和地址一樣都是4佔個位元組,因此,整型數和地址是可以相互轉換的,你可以把一個整數當作一個地址,也可以把地址當作一個整數,這也正是c語言的靈活之處,但使用時一定要小心,避免出現嚴重記憶體問題。
例如:int a;
int* p1;
int** p2;
可以這樣用:
p1 = &a; //p1指向a的地址
也可以這樣用:
p1 = (int*)p2;
那麼,訪問**p2時,可以這樣:
int* p3 = (int*)(*p1);//即把*p1當作一個地址來用,而非是一個普通的整數
*p3就是**p2中的數值了;
以上只是從概念上說的,具體應用時就看你的應用場合了。
補充:****************************************====
就如前面提到的,如:
int* p1;
int* p2;
p1 = (int*)&p2; //p1指向p2的地址
要訪問*p2時,可以:
int* p3 = (int*)(*p1); //由於*p1是整型數,因此要把整數強制轉換成整型指標,即*p1中儲存的是p2所指向的地址
*p3的值就是*p2的值了。
2樓:匿名使用者
這要看您為p定義的型別。
3樓:雁西樓
可以試試:
p=*a;
p2=*p;
4樓:匿名使用者
不可以如果你真的想用,而且確定自己不會濫用
void*可以成為你的選擇
Turbo C的產生與發展,Turbo C是什麼意思?
turbo c是什麼意思?turbo在英文當中直接翻譯的話就是 渦輪機 turbo是汽車中用的渦輪增壓的意思,我們常說的大眾的,富豪的中的t就是這個意思。渦輪增壓是一種提高汽車發動機的技術,後來這個詞就漸漸的成為效能增強的意思,通常用來比喻效能的加強。turbo c是一款很好的c語言編譯工具,tur...
不懂C語言關於指標中的指標的問題,有通俗易懂的解釋嗎
這兩個好像都不行吧,第一個多了一層 指標,第二個少了一層指標 首先你要明白指標的作用,他只是作為一個代號來使用,就如同一個人的綽號一樣,或者是如門牌號 c中,每一個變數都有一個記憶體空間來儲存他的資料,二這個記憶體空間是有一個地址來標示的,知道這個地址,就可以對這個變數進行操作,編輯器也是這麼幹的,...
關於C指標的問題,一個關於C 指標的問題
int p i 等價於int p p i 記住就好了 而 p i是把i的地址給p指向的元素。當然了,p是指標。指標就是一個存放別人地址的量,沒什麼特殊的。它本身也有地址。變數的值和地址是不同的概念 3 p i 是把i的地址賦給p指向的值,這個一般是錯誤的。和 p i 是把i的地址給p。p是值,p是這...