1樓:湖保育
int a=20,b=50 ;
這句話你定義了兩個變數,其實這兩個變數就是乙個在記憶體裡面的兩個位址,這兩個位址裡的內容分別是20,50,
int *x ;
這裡有定義了乙個指標x,它也是乙個變數,裡面的內容是專門用來存放 整形(int)的位址的 ,
x=&a ;
& 個是取位址符號,用它可以取位址,
&a 就是取a的位址
x=&a ,
就是把a的 位址 給 x
同理:x=&b ;就是 把b的位址給x
所以現在x存放的 位址 就是b的
* 是指標操作,是取得位址裡面的 元素
*x 就是把x位址裡面的元素取出來
所以 *x的值就是 50 了
2樓:
int a=20,b=50;
int*x;
x=&a;
x=&b;
*x=50....
3樓:上善若水
暈 50 x首先指向a 然後指向b .*a就是b的植當然是50了 不相信你自己上機驗證下,我已經驗證過了
4樓:匿名使用者
等於50
x是乙個引用,一開始它引用變數a的記憶體位址,也就是&a,這時*x等於20
然後又引用變數b的記憶體位址,也就是&b,這時*x等於50
5樓:匿名使用者
*x=50;
int a=20,b=50; //定義變數並初始化int*x; //定義指標變數x
x=&a; //將a的位址賦值給x
x=&b; //將b的位址賦值給x(x=&a;賦值給x的值被覆蓋,x中存放b的值)
6樓:匿名使用者
*取值運算子
&取位址運算子
x=&b;//即把b的位址賦於x
所以*x=50;
C語言指標,c語言指標詳解
結果肯定是a撒。你在函式point char p 呼叫後沒有返回 p的值 原因是你的函式就沒有return 語句,且 形參的值不能傳遞給實參 在point函式中改變的只是指標的值,指標指向的內容不受影響。可以這樣修改一下 void point char p 不知。樓上說的。你懂了沒。就是p 3 這句...
C語言,指標問題,C語言,指標問題
指標的概念 指標是乙個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的乙個位址。要搞清乙個指標需要搞清指標的四方面的內容 指標的型別,指標所指向的 型別,指標的值或者叫指標所指向的記憶體區,還有指標本身所佔據的記憶體區。讓我們分別說明。先宣告幾個指標放著做例子 例一 1 int ptr 2 char...
c語言指標
如果你的程式目的是排序的話,可能你是想這樣寫 include void sort int x,int y void main for p a p a 10 p printf d n p void sort int x,int y 沒明白樓主這個程式的原意是什麼 公升序排序?第六行定義指標 p的時候沒...