C 深入淺出之指標

2021-08-19 15:51:17 字數 1080 閱讀 9799

1、指標陣列

char * str[10];
指標陣列,顧名思義是乙個陣列,其元素是乙個指標。上述**是定義乙個指標陣列,其陣列元素為指向字元的指標。所謂指標陣列,重頭戲在於陣列,指標可以抽象為修飾符,那麼如何來理解指標陣列呢?很簡單,的優先順序高於*,因此先被結合,加上陣列名,就構成了陣列。

2、陣列指標

int (* p)[10];
陣列指標,顧名思義是乙個指標,其指向乙個陣列。上述**是定義乙個陣列指標,其指向乙個大小為10個整型數字的陣列。所謂陣列指標,重頭戲在於指標,陣列可以抽象為修飾符,那麼如何來理解陣列指標呢?很簡單,()的優先順序高於,而()內部是乙個指標變數,這樣就可以判斷是陣列指標了。

3、函式指標

int (* fun)();
函式指標,顧名思義是乙個指標,其指向乙個函式。上述**是定義乙個函式指標,其指向乙個函式。所謂函式指標,重頭戲在於指標,函式可以抽象為修飾符,那麼如何來理解函式指標呢?很簡單,()的結合性為從左到右,第乙個()內部是乙個指標變數,第二個()是函式呼叫操作符,它迫使間接訪問在函式呼叫之前進行,使得fun成為乙個函式指標,它指向的函式返回乙個整型值。

4、函式指標陣列

int (* fun)();
函式指標陣列,顧名思義是乙個陣列,其陣列元素為乙個指向函式位址的指標。上述**是定義乙個整型函式指標陣列,其陣列元素為乙個指向函式位址的指標。所謂函式指標陣列,重頭戲在於陣列,函式指標可以抽象為修飾符,那麼如何來理解函式指標陣列呢?很簡單,()的結合性為從左到右,第乙個()內部是乙個指標陣列,第二個()是函式呼叫操作符。

5、函式指標的陣列的指標

int (* (* fun))();
函式指標的陣列的指標,顧名思義是乙個指標,其指向乙個陣列,陣列元素為乙個函式指標。上述**是定義乙個整型函式指標陣列指標,其指向乙個函式指標陣列。

深入淺出c 之 this指標

前言 c語言中的陣列指標和指標陣列 陣列指標,是指向陣列的指標的縮寫 指標陣列,是存放指標的陣列的縮寫。其實很多時候,往往因為簡寫和縮寫帶給我們很多困惑。我曾想過不用簡稱去學習,但在很多時候,我們查詢的書籍文件和文章中還是會頻頻出現這樣的簡稱,所以有必要扣一下字眼了。1 int p 3 優先順序大於...

深入淺出之STL

c stl 標準模板庫 是一套功能強大的 c 模板類,提供了通用的模板類和函式,這些模板類和函式可以實現多種流行和常用的演算法和資料結構,如向量 鍊錶 佇列 棧。c 標準模板庫的核心包括以下三個元件 元件描述 容器 containers 容器是用來管理某一類物件的集合。c 提供了各種不同型別的容器,...

C 深入淺出Dynamic

我們知道c 是乙個強型別語言,也就是說編譯器在編譯的時候會堅持資料型別是否正確。但是dynamic的出現讓c 具有了弱語言型別的特性。編譯器在編譯的時候不再對型別進行檢查,編譯器預設dynamic物件支援你想要的任何特性。dynamic dy 100 dy.name 89 dy.getname 上例...