誰能解釋一下陣列在函式中該怎麼傳遞c中

時間 2021-08-30 09:08:27

1樓:匿名使用者

1、陣列在函式中的傳遞是以指標方式進行的,作為實參,被調函式僅接收陣列的首址,至於陣列的長度往往需要另外一個實參提供(字元陣列除外),

2、欲將在被調函式中定義的陣列傳遞(返回)給呼叫函式,需要動態申請(new)記憶體,並仍以指標方式回傳,長度不需要回傳,但要記住在程式結束前要釋放(delete)已申請的動態空間。

2樓:匿名使用者

陣列名+陣列大小。只能這樣子。

int a[10];

1.int getarray( int b, int length);

2.在子函式裡 new 一個或者 malloc一個新陣列,但不支援這樣做,會有風險

3.int getarray( int* b, int length);

4.陣列可以引用,但是其結果,得到的只是一個陣列頭個元素的地址。

3樓:

1.直接傳陣列首地址,即陣列的變數名;

2.最好使用new/allocate,在主函式中delete/free;

3.陣列首地址就是指標,當然如有必要,把長度也傳遞;

4.即有指標又有引用看上就亂了,但應該可以用指標的引用。

4樓:匿名使用者

陣列在c++中是以指標的形式進行傳遞的。

我們可以把形參寫成指標形式,也可以寫成陣列形式,但本質上傳遞的都是指標。引用《c++ primer》上的一個例子:

//儘管形式不同,但這三個print函式是等價的

//每個函式都有一個const int*型別的形參

void print(const int*);

void print(const int);   //可以看出來,函式的意圖是作用於一個陣列

void print(const int[10]); //這裡的維度表示我們期望陣列含有多少元素,實際不一定

以上三種形式的宣告是等價的,當呼叫print函式時,編譯器只檢查傳入的引數是否是(或能轉換成)const int*:

int i = 0, j[2] = ;

print(&i);  //正確:&i的型別是int*

print(j);   //正確:j轉換成int*並指向j[0]

5樓:

函式中陣列的傳遞,實際上傳遞的是陣列的首地址,理解了這一點就行了

指標是地址,引用也是地址。。。

c++中怎麼把陣列當做引數傳到函式中

6樓:

傳陣列的指標就行了

傳陣列太麻煩,因為還要告知陣列的大小

7樓:雙龍鬥

給你個例子。。

int sum(int a, int n)return sum;

}void main()

;cout<< sum(a, 3) << endl;}

c++中如何給函式傳遞陣列引數

8樓:司馬刀劍

對於陣列

名作為參bai

數傳遞,有兩種du方式:

1. 使用zhi陣列名本身,如以下dao

程式求陣列專a的最大值屬

#include

int max(int x,int n) //作為陣列定義形式int main(void)

;int m;

m=max(a,5); //陣列名用為實參printf("a的最大值:%d\n",m);

return 0;

}2.用指標作為引數,這就簡單了,如:

int max(int *x,int n) //作為陣列定義形式int main(void)

;int m;

m=max(a,5); //陣列名用為實參printf("a的最大值:%d\n",m);

return 0;}

誰能解釋一下Charlson score具體內容是什麼

曦婕語 mirsvr 熱力學穩定性大小 要求小於等於 0.1 分值越低,表明mirna mrna二者結合穩定性越強,相應mirna下調基因的可能性越大 phastcons 為基因非翻譯區在各物種中進化保守性的強弱 大於等於0 保守性越大約好。 呂秀才 charlson score是1987年char...

BI dashboard是什麼,誰能解釋一下

2 在bi中的作用 1 資料視覺化 為了配合bi更好的展示企業的各項業務指標等資料,dashboard一般要擁有圖表 儀表盤和地圖到積分卡 sparkline和狀態指示器等資料視覺化形式。2 圖形視覺化 bi的基礎就是olap了,dashboard也必須基於olap技術擁有圖形上的資料分析功能。如圖...

誰能解釋一下C 的這個棧的遍歷的函式

爺已戒菸很多年 這是把 濃縮了,可能這樣寫你就能明白 void visit int e cout 這裡你的棧必須是連續的,而且base指向的是低地址,top指向的是高地址,如果是一個類的話,那你必須重新構造迭代器,為你的base過載一個 的方法,因為棧的定義是從棧頂開始訪問的,但是從棧底訪問可是可以...