C語言宣告時 的優先順序

2022-08-26 06:39:10 字數 603 閱讀 7045

陣列名後面的 [ ] 和 ( ) 具有相同的優先順序,它們的優先順序高於 *.

例如:int *a[10] , [10]先和a結合,它宣告了乙個含有10個元素的陣列,其中每個元素都是指向 int 型別的指標.

int (* a)[10], ( ) 和 [ ] 優先順序相同,並且都是從左向右結合,* 和 a 先結合,因此 a 是乙個指向陣列的指標,該指標內含10個元素.

int a[10[[20] , 宣告了乙個 10 * 20 的二維陣列.

int *a[10][20] , * 的優先順序低於[10] , [10] 先和 a 結合, 因此 a 首先是乙個內含10個元素的陣列,再與 [20] 結合,所以 a 的每個元素都是內含20個元素的陣列. * 說明這些元素都是指標, 最後 int 表明這些元素都是指向 int 型別的指標. 所以 a是乙個內含10個元素的陣列,其中每個元素都都是由內含20個指向 int 型別的指標組成的陣列.總的來說, a 是乙個二維陣列.

int (* a[10])[20], ( * a[10]) 和 [20] 優先順序相同,並且從左向右結合, (* a[10]) 中 , [10] 的優先順序高於 *,因此它宣告了乙個內含10個指標元素的陣列,其中每個指標都指向乙個內含20個元素的陣列

C語言宣告時 的優先順序

陣列名後面的 和 具有相同的優先順序,它們的優先順序高於 例如 int a 10 10 先和a結合,它宣告了乙個含有10個元素的陣列,其中每個元素都是指向 int 型別的指標.int a 10 和 優先順序相同,並且都是從左向右結合,和 a 先結合,因此 a 是乙個指向陣列的指標,該指標內含10個元...

C語言宣告優先順序規則

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

C語言宣告的優先順序規則

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