當前位置:首頁 » 編程語言 » c語言一維數組作為形參
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言一維數組作為形參

發布時間: 2022-03-30 12:50:51

① 關於c語言中一維數組做函數的參數

是對的啊:

typedefunsignedcharuchar;

ucharA[12];

ucharB[12];

ucharC[12];

voidtest(ucharTEMP[12])//這是處理數組的函數

{

ucharCOUNT;

for(COUNT=0;COUNT<12;COUNT++)

{

TEMP[COUNT]=1;//這里簡單點寫,就寫把數組都填滿1了

}

}

voidmain()//主函數

{

test(A);//將數組A填滿1

test(B);//將數組B填滿1

test(C);//將數組C填滿1

printf("ABC ");

for(inti=0;i<12;i++)

{

printf("%d%d%d ",A[i],B[i],C[i]);

}

}

結果:

② C語言中一維數組作為函數參數傳遞的問題!!!!!

參數3中傳遞方式.
值傳遞,址傳遞, 引用傳遞.
後兩者 才是對傳入的參數的實際操作.
第一個是 操作的 傳入參數的拷貝副本.

③ C語言數組做形參定義語法

a如果是函數是可以的,x[]表示數組x的地址,int x[]等價於int *x

④ C語言編程題,若函數形參為一維數組作函數參數編寫函數,統計某一維數組中非0元素的個數

#include <stdio.h>

int func(int a[],int n)

{

int i,cnt;

for(cnt=0,i=0;i<n;++i)

if(a[i])

cnt++;

return cnt;

}

int main()

{

int a[10]={0,1,2,3,4,5,6,7,8,9};

printf("%d ",func(a,10));

return 0;

}

⑤ 一維數組形參(C語言)

如果對全部元素都賦初值,則定義數組時對第一維的大小可以忽略,但第二維的大小不能省。例如:
int a[][4]=;
與下面的代碼是等價的:
int a[3][4]=;
編譯器會根據數據總個數分配空間,每行4列,所以確定該數組為3行。

⑥ C語言數組變數作為函數參數

將數組傳遞給函數後,數組就會退化為指針

voidfun(intx,intpp[],int*n)
voidfun(intx,int*pp,int*n)
//這兩種寫法是等價的
pp[j++]=j;//這句寫錯了
//要保存到pp里的是能整除的整數,而不是計數器j,如果這么寫,那麼pp的值肯定是{0,1,2,3,4,5,...}
//應該改成
pp[j++]=l;//L才是被整除的整數,要保存的是這個
*n=j;//n作為一個指針,負責傳出得到的數字的數量,j是計數器,當所有的計算完畢後,j的值自然是這些數字的數量

⑦ C語言 一維數組 實參與形參與指針的問題

實參是a,它可以作為指針名使用,等同於指向首元a[0]的指針。形參int a[]等價於int *a,它指向實參a數組的首元a[0]的地址。

⑧ c語言中一維數組作為實參時,對應它的形參怎麼寫c語言中二維數組作為實參時,對應它的又形參怎麼寫

一維可以直接寫成void fun(char a[]);
二維則需要寫出第二維的大小void fun(char a[][5]);
在這2中聲明中,都可以寫完整的維數
void fun(char a[3]);
void fun(char a[2][5]);

⑨ C語言關於一維數組做實參的問題

參數的兩種形式:
1、傳值:形參只是實參的一個副本,它只存在被調函數中,在被調函數中對形參的改變不會影響實參的值。
2、傳址:形參是實參的一個地址,在被調函數中對形參的改變會影響實參的值。
在c語言中,簡單變數默認是傳值,而數組默認是傳址。
所以出現你所說的一系列怪現象。
好好想一下,若還不明白請留言。

⑩ c語言 數組作為函數參數怎樣寫

囧...
你的數組定義的size是N+1,參數傳進去的size是N。
參數調用方法沒錯,細心,細心啊,老兄...