當前位置:首頁 » 編程語言 » c語言不定數組
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言不定數組

發布時間: 2022-04-03 11:54:02

c語言如何實現不確定長度的數組

這個比較復雜了,需要用鏈表採用內存空間申請的方式,初學者暫時可以不要考慮這個了

Ⅱ C語言不定大小二維數組

把你的所有len[]改成len就行了。len就1個元素,那實質就是一個變數,幹嘛要聲明成1個元素的數組呢?不是自找麻煩嗎?原來只有len[0]有效,可代碼中幾處用了len[1],因為沒有為其賦值,一般情況下其中的值很大或是負數(隨機的),代碼啥時才能做完啊……
另:你沒有釋放內存!大忌!

Ⅲ c語言 不定長數組

數組本身就是靜態連續分配的,其有數據類型,也就是說是固定長度的,不定義就默認,你寫的就是char 型的,長度為256;
動態數組就藉助於指針了,char *c = (char*)malloc(sizeof(char) * strlen);strlen是所定義的數組的維數,這樣在定義後,在棧內分配,不用了一定要free(c),不然,系統一直佔用!

希望可以幫到你,如果滿意請採納!

Ⅳ C語言定義元素不確定的數組

用malloc函數動態申請一、二維數組

定義一維數組:

#include "stdio.h"
main()
{
int n;
int *p;
printf("請輸入數組元素個數n:\n");
scanf("%d",&n);
p=(int *)malloc(sizeof(int)*n);
printf("請輸入數組:\n");
for(i=0;i<n;i++)
scanf("%d",&p[i]);
for(i=0;i<n;i++)
printf("%d ",p[i]);
}

定義二維數組:

#include "stdio.h"
main()
{
int n,m;
int **p;
printf("請輸入二維數組的行列數n和m:\n");
scanf("%d%d",&n,&m);
p=(int **)malloc(sizeof(int)*n);
p[i]=(int *)malloc(sizeof(int)*m);
printf("請輸入二維數組:\n");
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&p[i][j]);
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
printf("%d "p[i][j]);
printf("\n");
}
}

如果對你有所幫助,請記得採納最佳答案,謝謝!

Ⅳ C語言數組輸入輸出問題 定義一個數組 輸入不定個數的數字 怎麼弄 輸出怎麼輸出 循

如果限制於C語言的話。那麼就不是很方便了。

但是是有方法的:有叫malloc,realloc的函數,在頭文件<stdlib.h>或者<malloc.h>裡面(看編譯器)。

給你一個我寫的代碼。你看著怎麼用。可以輸入任意數量的int型數字,然後直接輸出。

測試平台:Devc++

輸入:20 10 50 30 ctrl+z(鍵盤ctrl鍵,表示輸入結束,結束符)

輸出:20 10 50 30

輸入:20 10 50 30 50 50 50 ctrl+z(鍵盤ctrl鍵,表示輸入結束,結束符)

輸出:20 10 50 30 50 50 50

#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
intmain(){
inta,j,i=0;//輸入數字暫時存放的地方,j後面輸出的時候要用,i記錄存入了幾個數字
int*stack=(int*)malloc(1*sizeof(int));//數組*stack,malloc(size)是申請一個空間
while(scanf("%d",&a)!=EOF){//如果輸入的不是EOF結束
stack[i]=a;//放到數組裡面
i++;//記錄++
stack=(int*)realloc(stack,sizeof(int));//realloc(address,size)向address上面追加size個空間
}
for(j=0;j<i;j++){
printf("%d ",stack[j]);
}
return0;
}

Ⅵ 在c語言中如何將一組不定長度的數存入數組

C語言中不能定義未確定個數的數組,不過可以用指針來變相的完成你的要求。
示常式序如下:
#include<stdio.h>
#include<stdlib.h>
void main()
{
int* p;
int n,i=0;
scanf("%d",&n);
printf("請輸入%d個數字:\n",n);
p=(int*)malloc(n*sizeof(int));
for(;i<n;i++)
{
scanf("%d",p+i);
}
printf("輸入的數字有:");
for(i=0;i<n;i++)
printf("%d ",*(p+i));
puts("");
}
該程序完成了用指針定義N個整數數組的功能,如果有其它的類型只需要改變指針和malloc中的類型即可,有問題hi我

Ⅶ c語言如何定義未知個數的數組

用malloc函數。。。。
比如你要申請int型的未知個數數組。可以以下程序
#include<stdio.h>
#include<stdlib.h>

main()
{
int *p;
int n;
printf("請輸入錄入個數N:\n");
scanf("%d",&n);
p = (int *)malloc(n*sizeof(int));
//然後把*p當作數組指針用就可以了。。~~~~
}

Ⅷ c語言中不定長數組是指的變長數組嗎

變長數組在C++中指的是集合(也叫容器)
如vector就是

C語言中,所有的數組都不定長,沒有下標越界的概念,數組實質就是一個指針(由數組名充當),因此C語言中數組的長度沒有任何意義
平常在C語言中講的不定長數組,其實就是指針。比如char *p;這句就定義了一個不定長的字元數組p(長度任意)