c語言如何給動態分配的陣列賦值,C語言如何給動態分配的陣列賦值

時間 2021-08-11 17:49:43

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?有你們的

c語言陣列賦值問題,c語言中如何給陣列定義並賦初值?

靈凍冰晶霜月 我不清楚你想問什麼,不過第二種寫法是對的。char chars 11 是定義了一個初始值為空總數為11的字元陣列。char s c language 定義一個總數為11的字元陣列,但是有初值。注意是11個不是10個,用這種方定義的字元陣列末尾會加一個 0。陣列的賦值通常是使用花括號來表...

C語言動態分配記憶體為什麼總是提示警告?可以執行

北問邇 1.就算沒有free main 結束後也是會自動釋放malloc 的記憶體的,這裡監控者是作業系統,設計嚴謹的作業系統會登記每一塊給每一個應用程式分配的記憶體,這使得它能夠在應用程式本身失控的情況下仍然做到有效地 記憶體。你可以試一下在taskmanager裡強行結束你的程式,這樣顯然是沒有...

C語言指標動態記憶體分配,C語言中的動態記憶體分配的用法舉例

void malloc size t size 這個函式請求分配大小為size位元組的記憶體,並返回指向該塊記憶體起始位置的指標 它接受的引數型別size t是unsigned int的一個typedef,這種型別用來表示資料型別的大小 如char型別的大小為1 位元組 它返回的是一個void 型別...