C語(yǔ)言函數(shù)實(shí)現(xiàn)數(shù)組 C語(yǔ)言函數(shù)實(shí)現(xiàn)數(shù)組排序

用C語(yǔ)言編寫函數(shù),功能是可以實(shí)現(xiàn)一維數(shù)組的從小到大的排序,數(shù)組長(zhǎng)度為8

#include?stdio.h

創(chuàng)新互聯(lián)主要從事成都網(wǎng)站建設(shè)、做網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)廣靈,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

void?func(int?*a)

{

int?i,j,temp;

for(j=0;j=7;j++)?

{?

for?(i=0;i7-j;i++)?

if?(a[i]a[i+1])?

{?

temp=a[i];?

a[i]=a[i+1];?

a[i+1]=temp;

}?

}?

}

int?main()

{

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

func(a);

for(int?i=0;i8;i++)

{

printf("%d?",a[i]);

}

return?0;

}

func就是功能函數(shù)實(shí)現(xiàn)數(shù)組a[8]的排序。

C語(yǔ)言用函數(shù)實(shí)現(xiàn)數(shù)組賦值

如果你非要用指針的話,可以把數(shù)組的形式改寫成指針的形式,就像一樓的

void Chg_Array(int array[], int size, int value)

{

int i;

for(i=0;isize;i++)

*(array+i)=value ;

}

C語(yǔ)言中自定義的函數(shù)中有數(shù)組,應(yīng)該如何運(yùn)用該函數(shù)

方法

有2

將該數(shù)組定義為全局變量,即:

int

g_arr;

void

fun()

{...}

void

main()

{...}

2.將該數(shù)組作為函數(shù)參數(shù)傳遞到自定義函數(shù)里,即:

void

fun(int

arr[])

{...}

void

main()

{

int

arr[10];

fun(arr);

}

c語(yǔ)言中調(diào)用函數(shù)的返回值,如果是數(shù)組,主函數(shù)要輸出這個(gè)數(shù)組怎么實(shí)現(xiàn)啊

用指針,另外保存數(shù)據(jù)的變量退出函數(shù)時(shí)不得消失。

例如:

#includestdio.h

int * fun(int n)

{

int i;

static int a[100]; // 這里用static

for (i=0;in;i++) a[i]=i;

return a[0];

}

void main()

{

int i,n=5;

int *p; // 聲明指針

p = fun(n); // 返回指針

for (i=0;in;i++) printf("%d\n",p[i]); // 把 p 看成數(shù)組來輸出

}

得 0 1 2 3 4

擴(kuò)展資料:

注意事項(xiàng)

1、數(shù)組的維度必須是一個(gè)常量表達(dá)式

int main(void)

{

constexpr int i = 20;

int j = 5;//不是常量表達(dá)式

int arr1[i];//正確

int arr2[j];//錯(cuò)誤

system("pause");

return 0;

}

2、默認(rèn)情況下,數(shù)組的元素被默認(rèn)初始化。

而且需要注意的是,和內(nèi)置類型的變量一樣,如果在函數(shù)內(nèi)部定義了某種內(nèi)置類型的數(shù)組,那么默認(rèn)初始化會(huì)令數(shù)組有未定義的值。

c語(yǔ)言中能不能定義函數(shù)數(shù)組

函數(shù)不可以定義為數(shù)組,可以用函數(shù)指針來操作。

1.函數(shù)指針的數(shù)組定義方法:返回值類型( * 指針變量名[Number]) (形參列表)。

例如:

double add(double a,double b){}

double sub(double a,double b){}

double mul(double a,double b){}

double div1(double a,double b){}

double (*oper_func[])(double, double) = {add,sub,mul,div1};//函數(shù)指針的數(shù)組定義。

2.函數(shù)指針是指向函數(shù)的指針變量。 因而“函數(shù)指針”本身首先應(yīng)是指針變量,只不過該指針變量指向函數(shù)。這正如用指針變量可指向整型變量、字符型、數(shù)組一樣,這里是指向函數(shù)。

C在編譯時(shí),每一個(gè)函數(shù)都有一個(gè)入口地址,該入口地址就是函數(shù)指針?biāo)赶虻牡刂?。有了指向函?shù)的指針變量后,可用該指針變量調(diào)用函數(shù)。

擴(kuò)展資料:

指針函數(shù)和函數(shù)指針的區(qū)別:

這兩個(gè)概念都是簡(jiǎn)稱,指針函數(shù)是指返回值是指針的函數(shù),即本質(zhì)是一個(gè)函數(shù)。我們知道函數(shù)都有返回類型(如果不返回值,則為無值型),只不過指針函數(shù)返回類型是某一類型的指針。其定義格式如下所示:返回類型標(biāo)識(shí)符*函數(shù)名稱。

返回類型可以是任何基本類型和復(fù)合類型。返回指針的函數(shù)的用途十分廣泛。事實(shí)上,每一個(gè)函數(shù),即使它不帶有返回某種類型的指針,它本身都有一個(gè)入口地址,該地址相當(dāng)于一個(gè)指針。比如函數(shù)返回一個(gè)整型值,實(shí)際上也相當(dāng)于返回一個(gè)指針變量的值,不過這時(shí)的變量是函數(shù)本身而已,而整個(gè)函數(shù)相當(dāng)于一個(gè)“變量”。

參考資料:百度百科 -?函數(shù)指針

C語(yǔ)言編程 函數(shù)實(shí)現(xiàn)數(shù)組行列互換

for(i=0;ii;i++)

兄弟,這句話錯(cuò)了,應(yīng)該是for(i=0;i3;i++)

printf("處理后的數(shù)組為\n")

這句話少了一個(gè)分號(hào)

printf("\n")這個(gè)也是少分號(hào)

分享名稱:C語(yǔ)言函數(shù)實(shí)現(xiàn)數(shù)組 C語(yǔ)言函數(shù)實(shí)現(xiàn)數(shù)組排序
轉(zhuǎn)載來源:http://muchs.cn/article38/hgippp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、品牌網(wǎng)站制作、網(wǎng)站收錄電子商務(wù)、網(wǎng)站設(shè)計(jì)、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)