函數(shù)不可以定義為數(shù)組,可以用函數(shù)指針來操作。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、做網(wǎng)站、五常網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、五常網(wǎng)絡(luò)營銷、五常企業(yè)策劃、五常品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供五常建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:jinyejixie.com
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ù)都有一個入口地址,該入口地址就是函數(shù)指針所指向的地址。有了指向函數(shù)的指針變量后,可用該指針變量調(diào)用函數(shù)。
擴展資料:
指針函數(shù)和函數(shù)指針的區(qū)別:
這兩個概念都是簡稱,指針函數(shù)是指返回值是指針的函數(shù),即本質(zhì)是一個函數(shù)。我們知道函數(shù)都有返回類型(如果不返回值,則為無值型),只不過指針函數(shù)返回類型是某一類型的指針。其定義格式如下所示:返回類型標識符*函數(shù)名稱。
返回類型可以是任何基本類型和復(fù)合類型。返回指針的函數(shù)的用途十分廣泛。事實上,每一個函數(shù),即使它不帶有返回某種類型的指針,它本身都有一個入口地址,該地址相當于一個指針。比如函數(shù)返回一個整型值,實際上也相當于返回一個指針變量的值,不過這時的變量是函數(shù)本身而已,而整個函數(shù)相當于一個“變量”。
參考資料:百度百科 -?函數(shù)指針
void min(int a[],int x) //int x是用來標記傳過來的數(shù)組的長度(即a數(shù)組指向的那個數(shù)組的長度)。
因為你在函數(shù)中計算的時候,a只能當做一個指針來用,沒有具體的長度,而且你是int 型的,所以沒有標準庫函數(shù)來求你需要計算的數(shù)組的長度,所以你就沒法計算。
void min(int a[],int b[])這樣計算沒錯誤,但是在計算的時候,你要知道a所指向的數(shù)組的長度和b所指向的長度,例如下面的例子:
a數(shù)組中有10個數(shù),b數(shù)組中有2個數(shù),a數(shù)組的大小是40個字節(jié),而指向他的c數(shù)組大小只有4個字節(jié),所以當你運算的時候,你要知道c指向的a數(shù)組的大小,同理,d也是一樣。
#include"stdio.h"
#include"string.h"
void min(int c[],int d[])
{
int i,j=0;
int e[100]={0};
printf("c=%d\n",sizeof(c));
for(i=0;i10;i++)?//a數(shù)組中有10個數(shù)
e[j++]=c[i];
for(i=0;i2;i++)?//b數(shù)組中有2個數(shù)
e[j++]=d[i];
for(i=0;e[i];i++)
printf("%d\t",e[i]);
}
main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
int b[2]={3,4};
printf("a=%d\n",sizeof(a));
min(a,b);
}
方法
有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語言函數(shù)定義中有數(shù)組 c語言定義的數(shù)組存在什么問題
分享路徑:http://jinyejixie.com/article0/dosgcoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、定制開發(fā)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站制作、做網(wǎng)站、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)