針對在校大學生的C語言入門學習 高階語法

2021-10-14 15:33:34 字數 3257 閱讀 7037

//ar**:指標指向指標指向char。

/* 我的翻譯:ar**是乙個指向指標的指標,所指向的指標指向char型別。就是我們常說的二級指標。

*/int

(*daytab)[13

];//daytab:指標指向13個int型別元素的陣列。

/* 我的翻譯:daytab是乙個指標,指向乙個13個元素的陣列,該陣列的元素型別是int。就是我們常說的陣列指標。

*/int

*daytab[13]

;//daytab:13個指向int型別指標元素的陣列。

/* 我的翻譯:daytab是乙個13個元素的陣列,陣列的元素型別是int型別的指標。就是我們常說的指標陣列。

*/void

*comp()

;//comp:返回指向void型別指標的函式。

/* 我的翻譯:comp是乙個函式,函式的返回值型別是指向void型別的指標。就是我們常說的指標函式。

*/void

(*comp)()

;//comp:指向返回值是void型別的函式的指標。

/* 我的翻譯:comp是乙個指標,指向的是乙個返回值型別是void,引數列表是空的函式。就是我們常說的函式指標。

*/char(*

(*x(

)))();

/* 太難了,我直接翻譯吧!首先x是乙個函式,函式的返回值是乙個指向陣列的指標,這個陣列的元素型別是指向返回值是char型別函式的指標。這個由於太複雜了,所以並沒有人給它起名字。

*/char(*

(*x[3]

)())

[5];

/* 直接來了!首先x是乙個3個元素的陣列,陣列的元素是指向函式的指標,函式的返回值是陣列指標,所指向的陣列是5個char型別的元素。

*/複雜宣告的最後給大家做個總結:表示身份的符號有* () ,其中*表示指標,出現在識別符號左邊,()表示函式出現在識別符號右邊,表示陣列出現在識別符號右邊。分析複雜宣告的時候按照從識別符號開始「先右後左,由內而外」的順序分析。用來包括識別符號的()是提公升優先順序的。

void

printarr

(int

(*p)[3

],int len)

;int

main()

;printarr

(arr,2)

;//分行列印arr陣列

return0;

}void

printarr

(int

(*p)[3

],int len)

printf

("\n");

}}

void

printarr

(int

*p,int len)

;void

sortup

(int

*p,int len)

;void

sortdown

(int

*p,int len)

;int

main()

;sortup

(arr,10)

;printarr

(arr,10)

;sortdown

(arr,10)

;printarr

(arr,10)

;return0;

}void

sortup

(int

*p,int len)}}

}void

sortdown

(int

*p,int len)}}

}void

printarr

(int

*p,int len)

printf

("\n");

}

void

printarr

(int

*p,int len)

;void

sort

(int

*p,int len,

int(

*cmp)

(int

,int))

;int

cmpup

(int a,

int b)

;int

cmpdown

(int a,

int b)

;int

main()

;sort

(arr,

10, cmpup)

;printarr

(arr,10)

;sort

(arr,

10, cmpdown)

;printarr

(arr,10)

;return0;

}void

sort

(int

*p,int len,

int(

*cmp)

(int

,int))

}}}int

cmpup

(int a,

int b)

intcmpdown

(int a,

int b)

void

printarr

(int

*p,int len)

printf

("\n");

}

struct hero

;int

main()

enum debuff

;void

showdebuff

(enum debuff db)

;int

main()

void

showdebuff

(enum debuff db)

}

針對在校大學生的C語言入門學習 函式

float sin float a 在這裡float a就是形參,下面 是呼叫這個函式 int main 在這裡30就是函式sin的實參。int main int i,j for i 0 i 5 1 i 對陣列arr1排序,氣泡排序法 for i 0 i 5 i 列印陣列arr1的排序結果 prin...

針對在校大學生的C語言入門學習 指標和陣列

int a printf int p p n a,a 1 char c printf char p p n c,c 1 前兩行 是定義整型變數a,並且列印a的位址和a的位址加1的值 後兩行 是定義字元變數c,並且列印c的位址和c的位址加1的置。下面是執行結果 每次執行的結果一定是不一樣,因為位址是計...

蓋茨留給在校大學生的十句警告

蓋茨留給在校大學生的十句警告 1 社會充滿不公平現象。你先不要想去改造它,只能先適應它。因為你管不了它 2 世界不會在意你的自尊,人們看的只是你的成就。在你沒有成就以前,切勿過分強調自尊。因為你越強調自尊,越對你不利 3 你只是中學畢業,通常不會成為ceo,直到你把ceo職位拿到手為止。4 當你陷入...