C語言指標 初見指標

2021-10-22 16:09:45 字數 2484 閱讀 9542

種一棵樹最好的時間是十年前,其次是現在。

如有錯誤請指出,謝謝~

一、指標變數

在說指標變數之前,先說一下位址這個東西。現在大多數計算機裡都是記憶體被劃分為位元組,然後每個位元組可以儲存8位資訊,比如01010101,每個位元組有唯一的位址

有的變數佔據乙個或多個位元組記憶體空間,把第乙個位元組的位址看做這個變數的位址。

1.指標變數是儲存變數位址的變數。

2.指標變數宣告:

以前我們比如宣告乙個整形變數,int a; 現在說一下宣告指標變數,一般在宣告指標變數時我們使用p(它是point英文單詞首字母來的)乙個表示整形變數的指標 它這樣宣告 int *p;,也可以這樣說,指標p是乙個指向int型別物件的指標變數。對於int p;我們的理解為宣告了乙個整形變數,現在在這個整形變數前面加乙個*號,就表明宣告的p是乙個指標變數。

大家還記得在初學c語言時,遇到的scanf("%d",&a);這個語句嗎,想必對&這個東西特別眼熟吧!

1.取位址運算子 &

顧名思義,比如 &a,就是把變數a的位址取出來。

指標變數是乙個表示變數位址的變數,對於指標變數的初始化,我們使用取位址符號。

2.指標變數初始化

在使用指標p前必須對指標p進行初始化!

//方法一:

int i, *p;

p = &i;

//方法二:

int i;

int *p = &i;

//甚至也可以這樣:

int i,*p = &i;

3.間接定址運算子 *這個*(間接定址)運算子不要和int *p;時的*搞混!

當指標p變數指向了物件,就可以使用*p訪問到儲存到物件中的內容。

只有p指向i,*p就是i的別名

例如:

int a = 3;

int *p = &a;

printf("%d",*p);

這個**輸出的就是 變數a的內容 3。

三、指標賦值

#includeint main()

結果如下

四、指標為引數

1.我們都知道,當給函式傳參時,實際引數的值是不會改變的,那麼比如我們想要在乙個函式中去改變乙個實際引數的值,那應該怎麼做?return它然後在主函式重新賦值?但是如果想要改變兩個呢、三個呢、四個呢?

比如寫乙個交換數值的函式,給了a = 10 ;b = 3;c = 9;要兩兩交換這三個變數的值交換完是a = 3;b = 9;c = 10;寫乙個這樣的函式我們如果簡單的傳入a b c三個引數,在函式內部交換之後,出了函式它們仍然還是原值.

#includeint swap(int a,int b,int c);

int main()

int swap(int a,int b,int c)

執行之後你會發現他的結果並沒有改變,怎麼辦?

用指標作為引數!因為指標可以指向這個變數所在的位址,可以使用*p的賦值來直接改變變數的值。

#includeint swap(int *a,int *b,int *c);

int main()

int swap(int *a,int *b,int *c)

去執行一下子試試吧~

2.這樣我們的指標就多了一種運用場景:函式只能有乙個返回值,而需要多個結果時,我們就可以用指標來帶出多個結果。

當然,當某種可能出錯的運算使用-1或者0當做返回值表示執行失敗,若沒有出錯,這時我們也可以用指標來傳出結果。

3.const一下試試?

const 定義的是變數,常變數。用 const 定義的變數的值不允許改變,可以說它定義的是唯讀變數。這也就意味著必須在定義的時候就給它賦初值。

我們可以用const保護引數

因為有的時候我們傳入指標引數而又不希望它被改變,所以就const一下它。(當變數需要大量儲存空間時,這時傳遞變數的值就會浪費時間和空間)

這些就是指標最基礎的東西啦,後面還指標與陣列,動態記憶體分配等等。

一起加油~!

C語言指標初見(一)

最近一直在學習c語言指標,一直想總結一下,終於騰出來時間了,如果有寫錯的地方希望大家多多指正!乙個變數的位址稱為該變數的 指標 如果有乙個變數專門用來存放另一變數的位址 即指標 則它稱為 指標變數 指標變數就是位址變數,用來存放位址,指標變數的值是位址 即指標 定義乙個整型變數int a 定義乙個指...

C語言 指標 數字 指標 指標

指標 數字 指標 1 指的是加乙個單元格,不同的指標型別需要調整,調整的權重為sizeof 去掉乙個 注意 arr i arr i eg double dp brr dp 乙個單元格是八個位元組 char cp crr cp 乙個單元格是乙個位元組 只有 指標 指標 有意義 1 先算出位元組數 2 ...

c語言指標 指標和指標變數

指標是c語言中乙個重要的概念,也是c語言的重要角色。可以說指標是c的精華所在,學習指標雖然不易,但是只要肯花上時間去反覆的理解和實踐,就一定可以很好的掌握它。一 指標是什麼 指標到底是什麼?我們先舉乙個例子。假設我們在火車站 附近開了一家賓館,這家賓館有三千多間屋子,為了方便管理,我們給每個房間都加...