指標
就是儲存位址的變數
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程式的基本框架,還不能做很多事情,甚至還不能做資料的輸入,所以這一周的題目也非常簡單。輸入格式 無輸入輸出格式 一行文字 輸入樣例 無輸出樣...