C語言學習筆記3

2021-07-08 12:42:34 字數 909 閱讀 8960

指標:

為什麼需要指標?

使用指標處理陣列中儲存的資料,執行速度要比使用 下標 快很多。

指標可以做到更改函式呼叫處之前的區域性變數

指標:乙個變數的位址為該變數的「指標」,十個常量

指標變數:

指標變數是乙個變數,用於儲存位址的值

指標變數的宣告:

資料型別 *指標變數名;

int i = 10;

int *p1;     //可以將int *看做是乙個整體,然後p1中需要儲存的是位址型別的資料

p1 =  &i;     //&是取址運算子       等價於 int *pi = &i;

* 號為 取址運算子

1.表示式中,*號兩邊都有變大時的話,*號是四則運算的乘法運算

2.在宣告語句中,*號表明後面的變數為乙個指標形式的變數

3.*號如果不在宣告語句中,而只是在右邊的表示式的話,表明取*號右邊變數中所存位址對應記憶體中的資料(取值)

*p3 - &i;

等價於 i = &i;

printf("%d\n");列印結果是十進位制的

printf("%p\n");列印結果是十六進製制的  ,專門用於列印記憶體位址值

int i2 = 10;

int *p5;

int *p6;

p5 = &i2;

&*p5   //*p5等於i2         //&*p5 等於 &i2

*&i2    //實際上就是 i2的值

(*p5)++;

先找出p5所儲存位址指向的儲存單元的值,把值進行自加,p5的位址不變

*p5++;

++ 與 * 同一優先順序,結合方向是從右向左,所以先找出p5所儲存位址的值,然後該值加一,那麼現在p5就不在指向變數i2了

在c語言中,位址傳遞也稱為引用傳遞

C語言學習筆記(3)

edited by silence獨家 命名規範 1 識別符號的命名要清晰,明了,有明確含義,同時使用完整的單詞或大家基本可以理解的縮寫,避免使人產生誤會 2 除了常見的通用縮寫以外,不使用單詞縮寫,不得使用漢語拼音 3 產品 專案組內部應保持統一的命名風格 4 用正確的反義詞組命名具有互斥意義的變...

C語言學習筆記(3)

基礎知識 一維陣列的定義方式為 型別說明符 陣列名 常量表示式 例如 int a 10 說明整型陣列 a,有 10 個元素。float b 10 c 20 說明實型陣列 b,有 10 個元素,實型陣列 c,有 20 個元素。char ch 20 說明字元陣列 ch,有 20 個元素。初始化賦值的一般...

C語言學習筆記 3

1.typedef 在前文中,我們用巨集定義來定義了乙個bool型別,那麼現在就用更專業的方式來定義型別。typedef int bool int main void else typedef 的作用就是型別定義 type definition 型別定義有以下三個優點 1.易於閱讀。比如我們可以把定...