歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C語言中聲明的優先級規則

C語言中聲明的優先級規則

日期:2017/3/1 10:32:58   编辑:Linux編程
A 聲明從它的名字開始讀取,然後按照優先級規則順序讀取

B 優先級從高到低依次是:

B. 1 聲明中被括號括起來的部分

B. 2 後綴操作符:

括號()表示這是一個函數,而

方括號[]表示這是一個數組

B. 3 前綴操作符:星號*表示 “指向...的指針”

C 如果const和(或)volatile關鍵字的後面緊跟類型說明符(如int, long等),那麼它作用於類型說明符。其它情況下,const和(或)volatile關鍵字作用於它緊鄰的指針星號。

用上面的規則分析這個C語言聲明:

[java]
  1. char * const *(*next)()
A 首先從左到右找到第一個非關鍵字:next

B1 (*next)表示:next是一個指向...類型的指針

B2 (*next)()表示:next是一個的函數指針,函數的返回類型為...

B3 處理前綴的"*",得出函數的返回類型為指針。

C 最後,把char * const解釋為指向字符的常量指針


綜合起來就是:

”next是一個指針,它指向一個函數,該函數返回一個指針,這個指針指向另一個指向char的常量指針。“

Copyright © Linux教程網 All Rights Reserved