指標的高階宣告

2021-08-22 18:31:25 字數 737 閱讀 8971

現在也不記得是在那裡看到這篇總結的,如果你是原創,麻煩跟我說下,希望不會有侵權之說。

在使用指標之前,我們必須觀察它是如何宣告的:

1,簡單的例子:

int f; //乙個整形變數

int *f; //乙個整形指標

2,不簡單的例子

int *f(); //乙個返回整形指標的函式

int (*f)();//乙個返回整形的函式指標

3,較複雜的例子

int *(*f)();//乙個返回整形指標的函式指標

int *f;//乙個元素指向整形指標的陣列

4,複雜的例子

int f();//乙個返回陣列的函式。但是這個是不對的,應為函式的返回值只能是標量,不能是陣列。

int f();//乙個陣列,它的每個元素是函式。這個也是不對滴,因為陣列要求元素的長度一樣,函式不能保證。

5,最複雜的例子

int (*f)();//f是乙個陣列,他的每個元素是函式指標,這個函式指標指向的函式是返回整形的。

int *(*f)();//f是乙個陣列,他的每個元素是函式指標,這個函式指標指向的函式是返回整形指標的。

6,最最複雜的例子

int (*f)(int,char);//f是乙個函式指標,指向想引數為(int,char)的函式,返回型別是整形。

int *(*f)();//f是乙個陣列,元素是函式指標。指向的函式引數是(int,char)返回型別是整形指標。

指標的高階宣告 指標變數的運算

int f 宣告乙個整數 int f 宣告乙個指向整型的指標 int f,g 這個並不是兩個整形指標,而是乙個指標,乙個整型 int f 乙個返回值為整型的函式 int f 本質是乙個函式,函式的返回值為指向整型的指標 int f 本質是乙個指標,指標指向乙個返回值為整型的函式 int f 本質是乙...

C 高階指標話題之高階宣告的演進

在使用更高階的指標型別之前,我們必須觀察它們是如何宣告的。下面通過觀察一系列越來越複雜的宣告來 這個話題 int f 乙個整型變數 int f 乙個指向整型的指標這兩個例子十分簡單,我們來看下第2個宣告是如何工作的,這對後面理解更複雜的宣告非常重要。它把表示式 f 宣告為乙個整數。根據這個事實,你肯...

C語言中的高階宣告 《c和指標》摘要

分析c語言中的高階宣告時,記住三點 1 用於宣告變數的表示式和普通的表示式在求值時所使用的規則相同 2 下標運算子 和 的優先順序大於 3 從裡往外分解,可以使用替代符號幫助分解 例子 1 int f int f 前者是指標,指向陣列,陣列的元素是int 後者是陣列,陣列的元素是int 指標 2 i...