本文目錄一覽:
- 1、C語言如何定義動態數組
- 2、c語言中的動態數組
- 3、c語言 動態數組
- 4、請教C語言動態數組問題!
C語言如何定義動態數組
C語言定義動態數組需要用到動態內存分配函數,參考代碼如下:
#includestdio.h
#includestdlib.h
int
main()
{
int
*a=NULL,n,i;
scanf(“%d”,n);
a=(int
*)malloc(n*sizeof(int));
for(i=0;in;++i)
a[i]=i;
for(i=0;
in;
++i)
printf(“%d
“,a[i]);
free(a);
a=NULL;
return
0;
}
c語言中的動態數組
for(i=0; ilen;i++);//這個後面多了一個分號,如下刪除後重新編譯就ok了
scanf(“%d”,p[i]);
修改後程序如下:
#includestdio.h
#includemalloc.h
int main(void)
{
int *p;
int len;
int i;
printf(“輸入數組的長度”);
scanf(“%d”,len);
p =(int *)malloc(4*len);//相當是定義了個一維數組p[len]擔任這樣定義的不對了 因為一維數組的數組長度靜態定義的時候是不可以用變量的只可以樣整型數字;
printf(“請輸入數組元素”);
for(i=0; ilen;i++)
scanf(“%d”,p[i]);
printf(“輸出數組的內容”);
for(i=0; ilen; i++)
printf(“%d\n”,p[i]);
return 0;
}
c語言 動態數組
#include stdio.h
#include stdlib.h
int main()
{
int num,*p=0,i;
printf(“輸入數組元素個數:”);
/*輸入數組元素個數,保存到變量num中*/
scanf(“%d”,num);
/*動態分配數組存儲空間*/
p = (int *)malloc(sizeof(int)*num);
/*輸入數據*/
for(i=0;inum;i++)
{
scanf(“%d”,p[i]);
}
/*輸出數據*/
for(i=0;inum;i++)
{
printf(“%d “,p[i]);
}
/*刪除動態創建的數組*/
free(p);
return 0;
}
請教C語言動態數組問題!
通過malloc給指針動態分配,之後可以將指針所指向的內存區域當做數組使用,最後通過free釋放內存。
如:
int *p = malloc(100*sizeof(int));//分配一個100個int大小空間的內存區域
之後可以這樣使用
for(i=0;i100;i++){
p[i] = i;
}
最後釋放內存
free(p);
原創文章,作者:KTXOA,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/330083.html