翁愷老師 指標變數和輸入位址的變數

2021-09-02 23:40:06 字數 1138 閱讀 2958

指標

就是儲存位址的變數

int i;

int* p=

&i;//p是乙個指標,*表示指標p指向的是乙個int,把i的位址交給了p,p裡面存放的是i的位址

int*p,q;

int* p,q;

//這兩行的寫法意思是相同的,表示*p是乙個指標,但是q只是乙個普通的變數

指標變數

變數的值是記憶體的位址

普通的變數的值是實際的值

指標變數的值是具有實際值的變數的位址

指標和指標變數的區別

指標就是位址,位址就是指標;指標變數是乙個變數,它儲存了基本型別變數的位址。

如果指標變數p儲存了變數a的位址,那麼稱作p指向了a,*p 就是變數a。

如果p是乙個指標變數,*p 表示了以 p 的內容為位址的變數,就是p指向的變數。

#include

voidf(

int*p)

;int

main()

voidf(

int*p)

訪問那個位址上的變數

*是乙個單目運算子,用來訪問指標的值所表示的位址上的變數

可以做左值也可以做右值

int k=

*p;int

*p=k+

1;

#include

voidf(

int*p)

;voidg(

int k)

;int

main()

voidf(

int*p)

voidg(

int k)

輸出結果

int i=6;

scanf

("%d"

,i);

你本來應該寫&i是乙個位址,但是你現在寫成了i,編譯器看不出來,編譯器以為你傳入的就是乙個位址。雖然編譯沒有出錯,但是執行一定會出錯,因為它把你傳入的變數傳到了位址6裡面去,而不是它原本該傳入的位址。

翁愷C筆記 指標

指標應用場景 1.函式需要返回多個值,其中一些值可通過指標返回。傳入的指標引數其實是需要儲存帶回結果的變數 例程 include include void swap int a,int b int main void swap int pa,int pb 2.需要傳入較大的資料時用作引數 3.傳入陣...

學習翁愷老師c語言歷程 初次

include 判斷數的位數 int main dowhile num 0 printf 這個數的位數是 d count 總結 對 有了乙個新的認識,依次去掉個位數 從後向前數,計算機與人是很大的不同,計算機處理步驟的,而非關係。include include include 猜數遊戲 0 100之...

程式設計入門 C語言(翁愷老師)作業

第1周 程式設計與c語言1 輸出 hello world 5分 題目內容 請輸出一行,內容為 hello world 請注意大小寫。由於這一周只是簡單地介紹了c程式的基本框架,還不能做很多事情,甚至還不能做資料的輸入,所以這一周的題目也非常簡單。輸入格式 無輸入輸出格式 一行文字 輸入樣例 無輸出樣...