以陣列作為函式的引數c學習筆記

2021-08-16 09:36:30 字數 1783 閱讀 7743

以陣列作為函式的引數

格式:型別識別符號 函式名(型別識別符號 陣列名,int n)

a:n表示陣列的長度

b:在以陣列作為函式引數時,陣列一般不寫大小

c:它的大小由變數n來決定

sum(int a,int n)

使用:  1)既然型參是陣列,那麼在呼叫的時候,實參也應該用陣列

2)在呼叫以陣列作為引數的函式時,實參陣列只能寫上陣列名

3)型參的改變不會影響實參。(傳遞數的時候)

4)但是以陣列作為引數時, 型引數組就是實參陣列,

所以型引數組的改變,會影響實參陣列但是以陣列作為引數時,型引數組就是實參陣列,所以型引數組的改變,實參陣列會做同樣的改變

#include "stdio.h"

//編寫乙個陣列,求陣列為n的整型陣列中的最大值

int max(int a,int n)

return m;

}//編寫乙個函式,輸出長度為n的陣列中的所有元素

void show(int a,int n)

}//編寫乙個函式,將陣列中的元素都倒置

void reverse(int a,int n)//在用陣列時,實參陣列會跟著型引數組的改變而改變

}//編寫乙個函式,刪除整型一維陣列中相同的元素,只保留乙個,函式要返回刪除後陣列的個數

演算法分析:

第一步先排序,

乙個函式,能去除,重複元素,保留剩下的元素

show 出結果

void show(int a,int n)

printf("\n");

}int del(int a,int n)

}return j+1;

}//實現排序

void pai(int a,int n)}}

show(a,n);

}main()

,result=0;

show(a,8);

pai(a,8);

result=del(a,8);

printf("%d\n",result);

show(a,result);

}以數字組為函式引數的意義:

編寫乙個函式,用來檢驗乙個字串是否是回文字串

123a321

操作字串,我們就需要資格字元陣列

一維字元陣列作為函式引數,就不需要長度n,因為字串最後有結束符號'\0'

格式:型別識別符號 函式名(char 陣列名)

int isrever(char a)

}return 1;

}編寫乙個函式,把乙個字串中的所有數字都加起來,作為乙個結果返回

int fun(char a)

}return k;

}編寫乙個函式,把乙個字串的所有單詞的第乙個字母變成大寫

演算法:a[i]是小寫字母,並且a[i-1]不是英文本母,但是這個規律只能從第二個字元開始,a[0]要單獨考察

void wfun(char a)

}puts(a);

}從乙個字串中找其中ascii碼最大的乙個字元,並將其放在第一位,後面的字元向後順序移動。

abcdeefeeij---->eabcdefeeij

演算法:先求得最大的ascii碼的字元的下標

再根據下標移動字串中的字元,最後把開頭的位置改掉。

int findmax(char a)

}printf("%d,%c\n",index,max);

return index;

}void movefun(char a)

a[0]=t;

puts(a);

}

C語言陣列作為函式引數

一 陣列元素作為函式的實參 陣列元素就是變數,與普通變數沒有區別,將陣列元素傳送給形參,實現單向的值傳遞。include float max float x,float y int main int m a 0 for int i 1 i 6 i printf 陣列中的最大元素是 d m 二 陣列名...

陣列作為函式引數

一 一維陣列名作函式引數 用陣列名作函式引數,應該在主調函式和被調函式分別定義陣列,例如 void main 在被呼叫函式中宣告了形引數組的大小為10,但在實際中,指定其大小是不起任何作用的,因為c語言編譯對形引數組大小不做檢查,只將實參陣列的首元素位址傳給形引數組。形引數組可以不指定大小,在定義陣...

陣列作為函式引數

陣列元素的作用與變數相當,一般來說,凡是變數可以出現的地方,都可以用陣列元素代替。陣列名也可以做實參和形參,傳遞的是陣列第乙個元素的位址。陣列元素可以用作函式實參,但是不能用作形參,因為形參是在函式被呼叫時臨時分配儲存單元的,不可能為乙個陣列元素單獨分配儲存單元 陣列是乙個整體,在記憶體中佔連續的一...