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...