B 優先級從高到低依次是:
B. 1 聲明中被括號括起來的部分
B. 2 後綴操作符:
括號()表示這是一個函數,而
方括號[]表示這是一個數組
B. 3 前綴操作符:星號*表示 “指向...的指針”
C 如果const和(或)volatile關鍵字的後面緊跟類型說明符(如int, long等),那麼它作用於類型說明符。其它情況下,const和(或)volatile關鍵字作用於它緊鄰的指針星號。
用上面的規則分析這個C語言聲明:
[java]B1 (*next)表示:next是一個指向...類型的指針
B2 (*next)()表示:next是一個的函數指針,函數的返回類型為...
B3 處理前綴的"*",得出函數的返回類型為指針。
C 最後,把char * const解釋為指向字符的常量指針
綜合起來就是:
”next是一個指針,它指向一個函數,該函數返回一個指針,這個指針指向另一個指向char的常量指針。“