歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

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