舉幾個有代表性的例子
比如
int *a[2];
a與[2]結合,說明a是乙個有兩個元素的陣列,再與*結合,說明陣列中兩個元素都是指標,最後與int結合,說明指標指向的都是int型別整數。a的型別是int *[2]。
int (*b)[2];
b與*結合,說明b是乙個指標,再與[2]結合,說明該指標指向的是乙個有兩個元素的陣列,最後與int結合,說明該陣列的元素都是int型別的整數。b的型別是int (*)[2]。
int *g();
g先與()結合,說明g是乙個函式,然後與*結合,說明g這個函式返回的是乙個指標,最後與int結合,說明返回的指標指向的是整形數。g的型別是int *()。
int (*h)();
h先與*結合,說明h是乙個指標,然後與()結合,說明這個指標指向的是乙個函式,最後與int結合,說明該函式的返回值是整形數。h的型別是int (*)()。
結合的先後順序與運算子的優先順序有關。
c語言變數宣告
1.右左法則 int a 整型變數 int a 整型指標變數 int a 整型指標的指標變數 int a 整型陣列 int a 整型指標陣列 int a int 函式指標陣列 2.int fp1 int 10 fp1 是乙個函式指標變數,指向乙個形參為int 返回值為陣列指標,該指標指向乙個整型指標...
C 變數和函式的宣告和定義
有一部分c 程式設計師對於多個原始檔一起編譯鏈結時,變數,函式或者類宣告和實現到底如何定義模糊不清,現在分類澄清一下。變數 variable 在c 中,變數宣告 declaration 只有在使用extern關鍵字時才成立,其他情況下都是定義 definition 而在使用extern的同時給變數賦...
C 變數和函式的宣告和定義
有一部分c 程式設計師對於多個原始檔一起編譯鏈結時,變數,函式或者類宣告和實現到底如何定義模糊不清,現在分類澄清一下。變數 variable 在c 中,變數宣告 declaration 只有在使用extern關鍵字時才成立,其他情況下都是定義 definition 而在使用extern的同時給變數賦...