陣列有兩個特性:
傳參的方法
當下有乙個陣列int j[2]=
,我們自寫了乙個函式void findsomeone()
,要求將陣列引數傳進去。
有以下兩種方式(在函式內部使用時,point++
即可實現指標的移動)
陣列大小
陣列是以指標的形式傳遞給函式的,所以函式並不知道陣列的確切尺寸,因此呼叫者應該為此提供一些資訊,以防止使用時陣列越界。最好的方法是使用標準庫規範傳引數組是以指標的形式傳遞給函式的,所以函式並不知道陣列的確切尺寸,因此呼叫者應該為此提供一些資訊,以防止使用時陣列越界。最好的方法是使用標準庫規範傳引數組是以指標的形式傳遞給函式的,所以函式並不知道陣列的確切尺寸,因此呼叫者應該為此提供一些資訊,以防止使用時陣列越界。最好的方法是使用標準庫規範傳引數組是以指標的形式傳遞給函式的,所以函式並不知道陣列的確切尺寸,因此呼叫者應該為此提供一些資訊,以防止使用時陣列越界。最好的方法是使用標準庫規範傳參
void findsomeone(const int *beg,const int *end)
{ while(beg!=end){
cout<<*beg++const屬於修飾符,關鍵是看const修飾的位置在**
const int *a = 0;
const int b = 1;
int c = 1;
a = &b // 額外:注意不能通過a 來修改 b值
a = &c // 額外:雖然c本身不是乙個常量
*a = 2 //error 為題就在這裡,不能修改通過 *a 所指向的物件值,最後賦值得物件是c,因此不能通過*a 來修改c值。
關於const的補充: C 函式引數傳遞 陣列形參
1 三種傳遞陣列的寫法 下面這三種寫法本質是一樣的 void fun1 int x,size t size void fun2 int x,size t size void fun3 int 10 x,size t size 這個10其實是沒用的,編譯器會忽略掉 2 形參的長度會引起誤解 3 陣列實...
C 陣列作為形參傳遞給函式
以下三種形式等價 void function const int arg void function const int arg void function const int arg 10 這裡維度表示期望有10個,並不代表真實為10個以上三個函式等價於將陣列的頭指標const int 型別傳遞給...
函式引數傳遞 陣列形參
二 用兩個指標傳遞陣列 三 多維陣列的傳遞 陣列有兩個特殊的性質 1.陣列是不能複製的。2.陣列的名稱實際上是指向陣列第乙個元素的指標。因此,我們在向函式傳遞陣列 的時候就可以用傳遞指標的方法。有三種傳遞陣列的方法 如下 x指向陣列的第乙個元素 void printvalues int x,size...