#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]的排序。
如果你非要用指針的話,可以把數(shù)組的形式改寫成指針的形式,就像一樓的
void Chg_Array(int array[], int size, int value)
{
int i;
for(i=0;isize;i++)
*(array+i)=value ;
}
方法
有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);
}
用指針,另外保存數(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ù)組有未定義的值。
函數(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ù)指針
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)