1樓:匿名使用者
那樣賦值也只能用可變參了.
void set(int *value,int num,...)int *b = (int *)malloc(3 * sizeof(int));
set(b,3, 4,5,6);//set (設定變數,設定的數量,值1,值2...)
2樓:匿名使用者
1、當成普通陣列使用,用for迴圈即可賦值。
2、例程:
#include
#include
int main(void)
for (i = 0; i < 10; i++)free(a);/*動態分配的空間需要用free()函式釋放*/return 0;}
3樓:匿名使用者
int *b;
b=(int *)malloc(3 * sizeof(int));
首先分配陣列空間,現在假設要對陣列的第1個元素賦值為4,第2個為5,第3個為-4
*(b+0)=4;
*(b+1)=5;
*(b+2)=-4;
4樓:匿名使用者
如果都知道要賦多少個值了,動態分配有何意義……
怎麼實現c語言裡面陣列的動態分配?
5樓:風若遠去何人留
1 定義指標。
2 使用malloc函式分配記憶體。
3 對陣列進行訪問即可。
對於一維動態陣列,直接定義一維指標,並分配記憶體空間即可。
比如int型別的10個元素動態陣列,寫作
int *a;
a = (int *)malloc(sizeof(int) * 10);
如果是多維陣列,需要從高維向低維逐層分配。如二維陣列10*100空間。
int **a;
int i;
a = (int **) malloc(sizeof(int *) * 10); // 先分配10個int*的空間。
for(i = 0; i < 100; i ++)
a[i] = (int *)malloc(sizeof(int) * 100); // 對於每個int*,分配100個元素的空間。
6樓:施小平
/* 這是一維陣列,二維陣列類似
int **p= (int**)malloc(m*sizeof(int*) );
int i ;
for(i = 0; i < m; i++)vc6.0中通過
*/ #include
#include
void main()
printf("\n");
for(i=0;i
printf("\n");} 7樓:匿名使用者 #include int **a = (int**)malloc(sizeof(int*) *m); int i ; for(i = 0; i < m; i++) 8樓:匿名使用者 全都malloc不free?有你們的 靈凍冰晶霜月 我不清楚你想問什麼,不過第二種寫法是對的。char chars 11 是定義了一個初始值為空總數為11的字元陣列。char s c language 定義一個總數為11的字元陣列,但是有初值。注意是11個不是10個,用這種方定義的字元陣列末尾會加一個 0。陣列的賦值通常是使用花括號來表... 北問邇 1.就算沒有free main 結束後也是會自動釋放malloc 的記憶體的,這裡監控者是作業系統,設計嚴謹的作業系統會登記每一塊給每一個應用程式分配的記憶體,這使得它能夠在應用程式本身失控的情況下仍然做到有效地 記憶體。你可以試一下在taskmanager裡強行結束你的程式,這樣顯然是沒有... void malloc size t size 這個函式請求分配大小為size位元組的記憶體,並返回指向該塊記憶體起始位置的指標 它接受的引數型別size t是unsigned int的一個typedef,這種型別用來表示資料型別的大小 如char型別的大小為1 位元組 它返回的是一個void 型別...c語言陣列賦值問題,c語言中如何給陣列定義並賦初值?
C語言動態分配記憶體為什麼總是提示警告?可以執行
C語言指標動態記憶體分配,C語言中的動態記憶體分配的用法舉例