C語言 優先順序規則

2021-08-31 01:25:36 字數 598 閱讀 9572

理解c語言宣告的優先順序規則:

宣告從它的名字開始,然後按照優先順序順序依次讀取;

優先順序從高到低依次是:

2.1 宣告中被括號起來的那部分

2.2 字尾操作符:

括號()表示是乙個函式、表示是乙個陣列

2.3 字首操作符:星號*表示「指向…的指標」;

如果const和(或)volatile關鍵字的後面緊跟型別說明符(如int、long等),那麼他們作用於型別說明符,在其他情況下,const和(或)volatile關鍵字作用於它左邊緊鄰的指標星號。

例子:char *const *(*test)();

按照規則:

首先找到變數名「test」,並注意到括號;

括號中是乙個整體,得出test是乙個指向…的指標;

考慮括號外面,在星號字首和括號做出選擇;

根據上面的2.2括號優先順序比較高,所以得出test是乙個函式指標,指向乙個返回…的函式;

接著處理字首「*」,得出指標所指向的內容;

最後,把char *const解釋為指向字元的常量指標。

所以上面綜述: test是乙個指標,它指向乙個函式,該函式返回另乙個指標,該指標指向乙個型別為char的常量指標

C語言宣告優先順序規則

a 宣告從它的名字開始讀取,然後按照優先順序順序依次讀取。b 優先順序從高到低依次是 b.1 宣告中被括號括起來的部分 b.2 字尾操作符 括號 表示這是乙個 函式,而方括號表示這是乙個陣列 b.3 字首操作符 號表示 指向.的指標 c 如果const和 或 volatile關鍵字的後面緊跟型別說明...

c 語言優先順序

link blog id 2880933 寫 的時候,常會翻看的乙個表就是 c語言運算子優先順序表 c的運算子優先順序常常很讓人頭疼。其實,在大學裡學習c的時候,老師告訴大家這個不用一定背下來,用的時候可以找書,或者加小括號就可以了。我聽了,但是後來發現錯了。很多人都聽了,但不是每個人都發現這是錯的...

C語言優先順序

優先順序 運算子名稱或含義 使用形式 結合方向說明1 陣列下標 陣列名 常量表示式 左到右 圓括號 表示式 函式名 形參表 成員選擇 物件 物件.成員名 成員選擇 指標 物件指標 成員名2 負號運算子 表示式 右到左單目運算子 型別 強制型別轉換 資料型別 表示式 自增運算子 變數名 變數名 單目運...