C語言 陣列與指標高階(二)

2021-08-02 23:01:25 字數 582 閱讀 2149

c語言中能否靈活應用指標就能看出你的c語言功底如何,接下來是我對在學習指標過程中,對一下較為苦澀概念的理解及總結。

指標的運算可歸納為以下三部分:

1、指標 +/- 整數

一般來說,此類運算只是左右移動指標所指向陣列元素的位置而已;若指標指向的是&陣列名,此時其加1,則移動的是乙個陣列了,不是乙個元素;

2、指標 - 指標

此類是用與求兩指標間陣列元素的長度(兩指標需指向同一陣列)

void main(void)

}

1、常量指標:const char *p1

可以這麼理解:去掉型別名為const (*p1),常量的指標,即指向乙個常量的指標,特點:指向可以改變,當必須指向的變數必須是乙個常量;

2、指標常量:char * const p2

指標的常量,即該指標是乙個常量,特點是:指標的指向不能改變,但是能改變其所指向變數的值;

void main(void)

函式指標:函式的指標,指向某一類函式型別的指標

char (*pfun)(int *, int *);

c語言高階 陣列型別與陣列指標

元素型別角度 陣列是相同型別的變數的有序集合 記憶體角度 連續的一大片記憶體空間 陣列元素的個數可以顯式或隱式指定 陣列初始化可以使用或memeset兩種方式 void main 隱式指定元素個數 int b 100 顯式指定元素個數 int c 200 編譯時就已經確定所有值為零 memset c...

C語言 陣列與指標 二

在c語言中,根據定義,表示式 e1 e2 準確地對應於表示式 e1 e2 因此,要求表示式 e1 e2 的其中乙個運算元是指標,另乙個運算元是整數。且這兩個運算元的順序可以顛倒。故 a 4 等同於 4 a 等同於 a 4 編譯器把所有的e1 e2 表示式轉換成 e1 e2 所以,以下標的形式訪問在本...

c語言指標高階(二)

首先這裡強調乙個問題就是假設我現在知道乙個記憶體位址0xaa11 我怎樣將這個位址直接給乙個指標呢?首先這樣是沒有語法錯誤的 確實也是這樣定義的 但是位址我們是不能隨便規定的 這個主要用於程式開發中我們向特定的位址 我們已知的位址 去寫入資料 例如 通過i2c介面傳送到mcu乙個位址資料 unsig...