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過載一個 的方法,因為棧的定義是從棧頂開始訪問的,但是從棧底訪問可是可以...