1樓:
把main函式中struct student *a[2]改成:
struct student a[2];
f(struct student a){
for(迴圈條件){
scanf("%d ", &a[i].age);
2樓:站起來
建議好好研究一下下列知識點:
1、指標和陣列的關係。
2、左值和右值(特別是陣列名做右值時退化成指標,陣列作為函式引數傳遞時退化成指標)
要明白int
fun1
(int*a
);int
fun2
(inta);
intfun3
(inta[
5]);//5
inbrackets
will
beignored
這仨函式原型是完全等價的,其中第三個裡面的5是廢話。不是「乙個傳指標,乙個傳陣列,乙個傳5個元素的陣列」。
所以為什麼函式引數傳遞陣列時,必須加乙個長度,如
intfun4
(int
*array
,size_t
nmeb
);順便提一下:
intfun5
(inta[
static5],
size_t
nmeb
);裡面的static 5表示陣列至少要有5個元素。(這裡面的5就不是廢話了)
還有:int
fun6
(size_t
,int[*
]);這裡面的int [*]表示傳遞的是乙個變長陣列。注意,必須把變長陣列的長度引數寫在變長陣列前面。
當然,在GCC以及絕大多數實現中,用fun4就可以傳遞變長陣列了,不必刻意寫成fun6的形式。(不要拿純標準來杠我,理論脫離實際是沒意義的,標準還沒規定乙個Byte有多少bit呢,但是實際上你會遇到1Byte不等於8bit的實現嗎?而且標準起的是指導作用,從來沒有哪個編譯器是絕對服從標準的,就像你中學時期也不可能絕對服從學校的校規校紀)
3、static關鍵字的各種含義(static是C語言最難懂的關鍵字)。
3、指標陣列(array of pointers)和陣列指標(pointer to an array)。
如果我直接說把第8行的方括號去掉、把第21行的*去掉,那麼你什麼都學不會。
這個家的問題出在哪?
默默漠漠 第一 離你表弟遠點,你借給他的錢如果數目不多,就不要讓他還了,也不要告訴你小姨,去找你媽,讓你媽幫你把錢還上。告訴你媽不要把借錢的事對你小姨說,錢沒有多少說了最終會鬧的一地雞毛。第二 你們家親戚的問題就在於彼此沒有界限感。你媽帶著你住在已婚的妹妹家 你和你表弟在錢上分的不夠清楚 你姥爺和你...
請問下華為績效C制度還有c這個指標嗎?
背c的人一般是轉崗 辭職的,正常工作,加班,完成任務基本上不會背c。進去就績效c的一般是比較有個性,不會跟人相處,部門其他人9點下班,他6點鐘走的那種。或者就是能力極差,碰運氣混過面試官的那種。我們部門總共100多人,c的比例大概是5 左右,轉崗,主動離職的人已經足夠背完指標了。 心爸 華為裡面,俗...
各位大佬,請問下一建考試報名的問題。
住建雲學院 住建雲學院一建證書是一種建築類執業資格證書,是擔任大型專案經理的前提條件,考試設有4個科目,參加全部4個科目考試的人員必須在連續的兩個考試年度內通過全部科目。取得住建雲學院建造師執業資格證書,且符合註冊條件的人員,必須經過註冊登記後,方能以建造師名義執業。一建報考條件 一建考試科目 一級...