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語言 實參 呼叫方法 帶來的 困惑。通過函式引數只能把值傳回來,不能把位址帶回來。除非用 getmemory char p 可以通過函式引數把位址帶回來。但語法上,不如通過函式返回指標好理解。char getmemory char p 通過函式返回指標,能把位址送回來。記住這種... 念憶 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語言中規定不同的型別的取值範圍是一定的,所以應當將賦值與變數型別想對應。賦值和初始化時有區別的,初始化如 int a 1 賦值 int a a 1 要是是從標準的輸入裝置 鍵盤 輸入的值的話 scanf d a 這裡要注意了,符號是不能省的,表示的意思是將輸入的值放到變數a的地址 a 所指向的空間...C語言動態分配位址,C語言中的動態記憶體分配的用法舉例
c語言結構體中的陣列怎麼賦值,C語言,結構體中的陣列怎麼賦值,?
如何用c語言給變數a,b賦值,賦值範圍是確定的