C 中用vactor宣告陣列後怎麼呼叫?

時間 2025-06-10 04:34:51

1樓:銀霜傲雪

vector《纖祥int>和int*之間不存在任何轉換,這樣調枝塵用肯定是不行的毀搭搏。

用vector的話是不用顯示管理大小的。

直接宣告乙個vector傳遞過去就好了。

2樓:魔魂凰血

引數傳的不對。

int *a=new int[size] 改為。

vectora(size);

c++中怎麼引用整個陣列?

3樓:匿名使用者

陣列的每乙個元素都是乙個基本型別的變數,每乙個元素都有自己的位址,你如何能一次引用一串位址呢,這個應該是不行的。

而且對陣列名字的引用其實就是對陣列首元素的首位址進行引用,也就是 *str==str[0]

4樓:喵不語

陣列是不能引用的,還是用指標吧!

c++中有幾種方法定義陣列

5樓:馮老師(必果學院

定義陣列只有一種方式,但是建立陣列有多種方式定義陣列的方式如下:

型別 陣列名[陣列大小][陣列大小]…[陣列大小];

可以在定義的時候進行初始化。

型別 陣列名[陣列大小][陣列大小]…[陣列大小] = ,}char strings1[33][44][100];

建立陣列則有多種方式。

1 可以直接建立。這種情況下定義即建立。參考上面的示例。

2 使用new。對於多維陣列,這種方式有點麻煩,需要從頂向下建立。示例如下:

char (*string)[2][33] = new (char(*)2][33]);//首先宣告乙個頂級指標。

string[0] = new char[33];//接著宣告次級strubg[1] = new char[33];

這樣就構造了乙個三維陣列。

結構體和類物件的陣列同上,只是new的時候會呼叫其建構函式。

不要用malloc處理物件陣列,否則物件都是未初始化的物件,容易引發不必要的麻煩。

6樓:揚帆征途中

1.直接宣告陣列,如:int array[10];

char string[10];

其中陣列大小必須為常量。

2.使用new運算子生成無名動態陣列,需要用指標,如:int *p=new int[10];

其中陣列大小可以是常量或變數,但都必須事先給定,這可以通過鍵盤輸入大小。

3.定義物件陣列,如:student stu[10];

4.定義指標陣列,如:int *p[10];

以上均為一維陣列,二維及多維陣列相似。

c++怎樣宣告乙個長度不定的陣列?

7樓:匿名使用者

可以用指標。

如char *p = malloc(0);//分配乙個0長度的字串陣列。

那麼改變它容量的辦法就是。

p = (char*)realloc(p,新大小);

最後要通過。

free(p);來釋放它佔用的空間。

長度不定的陣列好象是不存在的。

8樓:六頡

陣列必須指定長度的,因為系統需要為你準備。

不過你可以用連結串列,連結串列可以為你動態開闢記憶體,即當你需要增加乙個資料時,你向系統索要一塊記憶體。不知道連結串列的話可以再問。

9樓:匿名使用者

int *a,i; //定義乙個指標,i表示陣列個數a=new int[i];//用new先建立他的空間delete a;//刪除。

使用時和普通陣列差不多,a[0]~a[i-1];

樓上說的沒錯,長度不定的陣列好像是不存在。

10樓:網友

定義乙個指標就好了呀,然後就可以個往後加了。

11樓:匿名使用者

vector《型別》 可以儲存任意大小。

12樓:網友

c++的話直接用vector向量就成了啊!!!

13樓:創作者

//宣告兩個指標。

int *a,*b;

先給a弄10個陣列。

a=new int [10];

當我們發現上面的10個陣列不夠用了需要增加些陣列了b=new int [20];

將a陣列中的內容複製到b陣列中來。

memcpy(b,a,sizeof(int)*10);

釋放掉原本的a陣列。

delete a;

讓a指向擴充後的陣列。

a=b;

c++中函式指標陣列 怎麼定義

14樓:滷麵糕點

(*p)[m]

p[m]由於一對圓括號的存在,所以*先與p結合,說明p是個指標變數,然後再與說明符[m]結合。

15樓:網友

int b[10] 這是10個大小的整型陣列int* b[10] 這是10個大小的整型指標陣列int (*b)[10] 這是指向上述第一種陣列首位址的指標int* (b)[10] 這是指向上述第二種陣列首位址的指標。

c++中如何宣告乙個二維陣列

16樓:網友

1、一維陣列: 型別說明符 陣列名[常量表示式]例如 int a[10]它表示陣列名為a,此陣列有10個元素。

2、二維陣列: 陣列名[下標][下標]例如 a[2][3] 下標可以是整形表示式如a[2-1][2*2-1]不能寫成a[2,3]

a[2-1,2*2-1]

17樓:

int a[m][n];

這代表了乙個m行n列的二位陣列。

或者是int **p;

用指標定義乙個二位陣列。

還有int (*p)[n];

這定義了乙個未知行n列的二位陣列。

希望能幫到你。

祝好運。

18樓:相思丶貓

簡單啊,比如。

int a[5][3]; 5行3列的int陣列。

19樓:網友

陣列型別 陣列名 [行數][列數];

int a [3] [5] ;同上。

c++中,可以定義陣列的引用嗎

20樓:哎呀

可以。但是理解起來很難哦……指標什麼的都是很難理解的東西,在實際程式設計中,個人建議儘可能規避,以保證程式的可靠性。

下面是相關的示例,在vs2012中測試通過。

#include

#include

#include

#include

using namespace std;

定義如下陣列。

int my_ary[10] = ;

定義引用陣列的函式。

void func(int(&ary)[10])int main() //主程式,呼叫示例。

c語言 陣列未知個數 怎麼宣告,C語言 陣列未知個數 怎麼宣告

風若遠去何人留 c語言在陣列個數未知的情況下,根據應用情況不同,有三種方式。1,陣列元素總數未知,但是需要儲存的內容是已知的。其實這是一種變相的已知個數,只是程式設計者不去計算總個數,把這個工作交給系統來做。這時可以通過陣列個數留空,顯式初始化陣列進行宣告。比如char s this is a te...

c語言陣列宣告問題,C語言中定義陣列時對其全部初始化為1的問題

有初始化的陣列定義可以省略方括號中的陣列大小。例如,下面的 中陣列定義為5個元素 int a 如 char str program 編譯時必須知道陣列的大小。如果陣列大小要根據運 況來確定,可以使用動態陣列 int p int calloc num,sizeof int 一般有四種陣列定義方式,以一...

C語言中 用陣列編寫「輸入一組資料,先排序,再輸入數插入其中,再排序,怎麼寫啊?」各位幫忙吧!先

include int sort int a,int n int insert int a,int n n為陣列裡原來的元素個數,k為插入的位置從左編號0開始 int main 這樣?vectorvecdata copy istream iterator cin istream iterator b...