新聞中心
c語言如何在子函數(shù)中改變主函數(shù)數(shù)組值?
兩種方法.
從網(wǎng)站建設(shè)到定制行業(yè)解決方案,為提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)服務(wù)體系,各種行業(yè)企業(yè)客戶提供網(wǎng)站建設(shè)解決方案,助力業(yè)務(wù)快速發(fā)展。成都創(chuàng)新互聯(lián)將不斷加快創(chuàng)新步伐,提供優(yōu)質(zhì)的建站服務(wù)。
一:
把a(bǔ)作為參數(shù)傳遞給sss();
int sss(int x)
{x ;
}這樣僅僅只是使用a的值,是把a(bǔ)的值復(fù)制給x,使x的值等于a,可以在子函數(shù)中使用a的數(shù)值,但無法改變主函數(shù)中a的值.
二,
使用指針.聲明一個(gè)指針指向a,把a(bǔ)的地址作為參數(shù)傳遞給子函數(shù),那么在子函數(shù)中不但可以使用a的值還可以修改主函數(shù)中a的值.
C語言里子函數(shù)更改主函數(shù)數(shù)組的值
變量有全局變量和局部變量之分,要想子函數(shù)改變母函數(shù)的變量值有兩種辦法:
1是將變量定義成全局變量(在#include下面就定義),然后在子函數(shù)中直接使用變量名。
2是將指向該變量的指針當(dāng)作參數(shù)傳遞給子函數(shù)。
寫一個(gè)函數(shù)修改數(shù)組中的數(shù)據(jù),在主函數(shù)中調(diào)用它。(C語言)?
#includestdio.h
// 用于修改數(shù)組的函數(shù)
int change_array(int *num, int count)
{
int i,t;
for(i = 0; i count; i++)
{
t = num[i];
num[i] = t + 1;
}
}
int main()
{
int i, b[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
// 調(diào)用函數(shù)
change_array(b, 10);
// 輸出結(jié)果
for(i = 0; i 10; ++i)
{
printf("%d ", b[i]);
}
}
關(guān)于c語言中數(shù)組作為函數(shù)參數(shù)的函數(shù)之間調(diào)用問題
1、新建一個(gè)數(shù)組作為參數(shù)項(xiàng)目,如圖所示:
2、添加一個(gè)array.c文件,如圖所示:
3、包含stdio.h和stdlib.h頭文件,如圖所示:
4、輸入main函數(shù)主體及返回值,如圖所示:
5、定義一個(gè)數(shù)組arr,如圖所示:
6、定義一個(gè)function函數(shù),如圖所示:
7、將數(shù)組作為參數(shù)傳遞給function函數(shù),如圖所示:
8、運(yùn)行程序,輸出結(jié)果,如圖所示:
c語言怎么將數(shù)組作為函數(shù)參數(shù)傳入?
一維數(shù)組的元素作為函數(shù)實(shí)參,與同類型的簡(jiǎn)單變量作為實(shí)參一樣,是單向的值傳遞,即數(shù)組元素的值傳給形參,從而形參是改變不影響實(shí)參
數(shù)組名代表著整個(gè)數(shù)組的地址,如果一維數(shù)組的名字作為函數(shù)實(shí)參,傳遞的是整個(gè)數(shù)組,即形參數(shù)組和實(shí)參數(shù)組完全相同,是存放在同一存儲(chǔ)空間的同一個(gè)數(shù)組。這樣形參數(shù)組
修改時(shí),實(shí)參數(shù)組也同時(shí)被修改了。形參數(shù)組的元素個(gè)數(shù)可以省略。
#includestdio.h
//數(shù)組作為函數(shù)參數(shù),可以省略元素個(gè)數(shù)
//數(shù)組作為函數(shù)參數(shù),傳遞是整個(gè)數(shù)組的地址,修改了函數(shù)形參數(shù)組元素的值,會(huì)影響到外面的實(shí)參數(shù)組
void change(int array[])
{
printf("array ==%p\n",array);
array[0] = 100;
}
int main()
{
int ages[6] = {10,11,13,15,11,18};
printf("array ==%p\n",ages);
change(ages);
printf("%d\n",ages[0]);
return 0;
}
輸出結(jié)果為: array ==0x7fff5be26c00
array ==0x7fff5be26c00
100
C語言 數(shù)組 調(diào)用函數(shù)
對(duì)于有數(shù)組參數(shù)的函數(shù),編譯程序要為其開辟相應(yīng)的內(nèi)存空間,而程序中兩個(gè)函數(shù)
都有數(shù)組參數(shù)a[n][m],由于n,m是變量,編譯程序并不知道n,m的具體值,所以不能
通過編譯。
修改:
1.在#include下面添加以下偽指令:
#define n 5
#define m 5
2.將函數(shù)的參數(shù)形式改為:
int sum(int a[n][m]);
void pl(int a[n][m]);
并按此修改程序文件中所有關(guān)于這兩個(gè)函數(shù)的申明和調(diào)用即可
名稱欄目:C語言數(shù)組改函數(shù),c語言定義數(shù)組的方式
標(biāo)題網(wǎng)址:http://www.dlmjj.cn/article/dsgepdi.html