麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

函數(shù)與數(shù)組

2019-11-14 09:48:51
字體:
供稿:網(wǎng)友

一、數(shù)組作為函數(shù)參數(shù):

int sum_arr(int arr[],int n);

注意,arr實際上并不是數(shù)組,而是一個指針!C++將數(shù)組名解釋為其第一個元素的地址,因此函數(shù)傳遞的是地址。也可以這樣聲明函數(shù)頭:

int sum_arr(int * arr,int n);

在C++中,當(dāng)且僅當(dāng)用于函數(shù)原型或函數(shù)頭中,int * arr和int arr[]的含義才相同。通常,當(dāng)指針指向數(shù)組的第一個元素時,采用數(shù)組表示法;當(dāng)指針指向一個獨立的值時,采用指針表示法。

數(shù)組名與指針對應(yīng)的利弊:

首先,將數(shù)組地址作為參數(shù)可以節(jié)省復(fù)制整個數(shù)組所需的時間和內(nèi)存。如果數(shù)組很大,則使用拷貝的系統(tǒng)開銷將非常大,另一方面,使用原始數(shù)據(jù)增加了破壞數(shù)據(jù)的危險性。

二、數(shù)組保護

由于函數(shù)參數(shù)傳遞是值傳遞,若將數(shù)組作為參數(shù),實際上是傳遞地址,形參將是地址的拷貝,對其指向的數(shù)據(jù)進行操作將訪問原數(shù)組,而不是其拷貝。

由于會增加破壞原始數(shù)組的危險性,為防止函數(shù)中無意修改了數(shù)組內(nèi)容,可在聲明形參時用const限定:

int sum_arr(const int arr[],int n);

表明,arr指向的是常量數(shù)組,不可以使用arr對數(shù)據(jù)進行修改,即為只讀。解釋為const int * arr更好理解。

三、使用數(shù)組區(qū)間:采用兩個指針,并遵照“超尾”原則,即對于數(shù)組而言,標記數(shù)組結(jié)尾的參數(shù)將是指向最后一個元素后面的指針,例如如下函數(shù)定義:

int sum_arr(const int * begin,const int * end)

{

const int * pt;

int total = 0;

for(pt = begin;pt!=end;pt++)

total = total + *pt;

return total;

}

四、指針與const

兩種情況:讓指針指向一個常量對象,可以防止使用該指針來修改所指向的值。此時,并不意味著指向的值實際上就是一個常量,只是對指針而言,這個值是個常量。這個值可以通過變量本身修改值,但不能通過指針去修改:

const int * pt = &age;//此時*pt是常量

另一種情況是,指針本身是常量,可以防止改變指針指向的位置:

int * const ps = &age;//此時ps是常量

C++禁止將const值的地址賦給非const指針。這樣將可以通過非const指針修改const值。

原則:盡可能在數(shù)組作為參數(shù)時使用const:

1、避免無意間修改數(shù)據(jù)導(dǎo)致錯誤;

2、使用const使得函數(shù)能夠處理const和非const實參,否則只能接受非const數(shù)據(jù)。

五、二維數(shù)組

ar2[r][c] == *(*(ar2+r)+c)

六、函數(shù)指針:分層設(shè)計,方便切換等作用

1、獲取函數(shù)地址:傳遞函數(shù)名

2、聲明函數(shù)指針:

double pam(int);

double (*pf)(int);

pf = pam;

或直接:double (*pf)(int) = pam;

3、通過指針調(diào)用函數(shù):將(*pf)看作函數(shù)名,如:

double y = pf(5);


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产精品成人一区二区三区电影毛片 | 免费在线观看成年人视频 | 91看片淫黄大片欧美看国产片 | 国产jjizz一区二区三区视频 | 中文欧美日韩 | 久久毛片 | 亚州视频在线 | 国产女做a爱免费视频 | 又黄又爽免费无遮挡在线观看 | 毛片大全免费 | 天天草夜夜 | 亚洲va久久久噜噜噜久久男同 | 日韩视频在线不卡 | 久久精品美乳 | 在线观看91精品 | 免费在线观看毛片 | 好骚综合在线 | 欧美精品黄色 | 中国黄色一级生活片 | 九九热精品视频在线 | 国产精品亚洲欧美一级在线 | 少妇一级淫片免费放播放 | 久久成人免费观看 | 色播视频在线播放 | 九九热精品视频在线播放 | 欧美成人影院 | 日韩专区在线 | 欧美日韩国产一区二区三区在线观看 | 大学生一级毛片在线视频 | 久草视频国产在线 | 成人在线视频免费播放 | 精品免费在线视频 | 国产精品91在线 | 久久99国产综合精品 | 欧美18videos性处按摩 | 国内精品久久久久久影视8 嫩草影院在线观看网站成人 | 免费亚洲视频在线观看 | 国产精品视频二区不卡 | 国语自产免费精品视频在 | 免费一级欧美 | 国产高潮好爽受不了了夜色 |