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

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

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語言中的動態記憶體分配的用法舉例

沒有太多的道理。這是c語言 實參 呼叫方法 帶來的 困惑。通過函式引數只能把值傳回來,不能把位址帶回來。除非用 getmemory char p 可以通過函式引數把位址帶回來。但語法上,不如通過函式返回指標好理解。char getmemory char p 通過函式返回指標,能把位址送回來。記住這種...

c語言結構體中的陣列怎麼賦值,C語言,結構體中的陣列怎麼賦值,?

念憶 intmain void printf d,s n bao.id,bao.name 輸出是4224528,空 應該是null structstudentsbao 可以。第一種賦值方法 strcpy bao.name,bao 可以,printf d,s n bao.id,bao.name bao...

如何用c語言給變數a,b賦值,賦值範圍是確定的

c語言中規定不同的型別的取值範圍是一定的,所以應當將賦值與變數型別想對應。賦值和初始化時有區別的,初始化如 int a 1 賦值 int a a 1 要是是從標準的輸入裝置 鍵盤 輸入的值的話 scanf d a 這裡要注意了,符號是不能省的,表示的意思是將輸入的值放到變數a的地址 a 所指向的空間...