C語言中怎麼定義動態的陣列長度,c語言中如何自定義陣列長度

2021-03-04 03:11:35 字數 3519 閱讀 9635

1樓:匿名使用者

#include

using namespace std;

int main()

{int *p,n,i;

cin>>n;

p=new int[n];

for(i=0;i>p[i];

for(i=0;i

2樓:匿名使用者

什麼叫動態的陣列長度?

c語言中怎麼定義動態的陣列長度

3樓:匿名使用者

動態陣列長bai度,對於部du分新的編譯器,支zhi持c99的,可以直接用變數dao定義陣列

比如func(int n)

不過版 有些編譯器不支援 會報錯

權就只能使用動態陣列,也就是malloc

如func(int n)

c語言中怎麼定義動態的陣列長度?

4樓:匿名使用者

這個簡單..

你通過malloc分配空間的方式來定義陣列哇..

看看這個例程..

int main(void)

{int *number, n, m, i;

printf("the total numbers is:");

scanf("%d", &n);

printf("back m:");

scanf("%d", &m);

number = (int *)malloc(n * sizeof(int));

printf("input %d integers:", n);

for (i=0; i樣

c語言中如何自定義陣列長度

5樓:文化廚子

動態分配的陣列可以自

定義陣列的長度,示例如下:

#include

#include

#include

int main()

memset(pstart, 0x00, sizeof(int) * size);

int inx;

for (inx=0; inx!=size; ++inx) pstart[inx] = inx;

for (inx=0; inx!=size; ++inx) printf("%d\t", pstart[inx]);

printf("\n");

return 0;}

6樓:匿名使用者

陣列不能bai在方括號中用變數來表示du

元素的個數, 但是可以zhi是符號dao常數或常量表示式。例如:專

#define fd 5

main()

是合法的。屬

但是下述說明方式是錯誤的。

main()

但是,陣列可以超界使用。

7樓:幻の上帝

c99標準支援不定長陣列(代價是不能用goto語句)。在輸入語句後宣告就可以了。

不過現在的編

8樓:匿名使用者

int n;

scanf("%d",&n);

int *pint = (int *)malloc( sizeof(int) *n);

9樓:

樓上有些挺深奧的

其實有兩種方法:

第一種:

用常量表示式

#define n 5//任定義一個數專

main()

第二種:屬

#include

main()

10樓:匿名使用者

採用動態bai分配即可實現,例如:du

#include

using namespace std;

void main()

11樓:匿名使用者

int *a;

int n;

scanf("%d",&n);

a=(int *)malloc(sizeof(int)*n);

12樓:匿名使用者

int *p=null,n;

printf("please input the num of elements:\n");

scanf("%d",&n);

p=(int *)malloc(n*sizeof(int));

if(!baip)

printf("memory is not accessed!\n")

else

c語言中用什麼方法可以檢測陣列長度

13樓:yhy0302獅子

陣列長度都是用靜態量設定的,也就是說編譯階段就確定了。

int a[10];

printf("%d", sizeof(a)/sizeof(int));

這就能知道長度

14樓:南京新華電腦專修學院

int i=0,a[n];

while(a[i]!='\0'0 i++;//不是'\0『就自加一次 直到最後

printf("%d",i);

c語言中怎樣定義一個可變大小的陣列呢?我想根據自己的需要輸入陣列的大小,謝謝啦

15樓:匿名使用者

通過指標和動態分配函式完成。

如: int *p;

p=(int *)malloc(sizeof(int)*10);

上述可申請大小為10的整型陣列。

當然也可以用連結串列實現。

16樓:二木澤

這個很簡單,你不要給陣列規定大小就可以了,比如 a 這個陣列的大小就是你輸入的多少來決定的

17樓:蕭豪雲影

常規定義是不可能的 呵呵

不過可以動態記憶體分配用calloc函式建立連續空間段,相當於陣列了

18樓:匿名使用者

c99標準bai

定義了可變長陣列,不du

過也是有限的zhi。vc並不支援,tc遠老dao於c99就更內不可能支援了,

容gcc支援。

要真正的動態陣列還是隻能用指標,用malloc分配記憶體。

關於可變長陣列的描述見

19樓:半季流年

定義copy

動態陣列,例如:

#include

#include

int len;

char *str;

printf("輸入陣列的長度:");

scanf("%d",&len);

str=(char*)malloc(len*sizeof(char));

為str分配分配len個字元大小的空間。

c語言裡面 陣列都要事先定義長度嗎

陣列必bai須是固定長度du,但是可以通過動態zhi記憶體申請來實dao現你的要求。內 unsigned int pallscores main 在陣列一 bai章中,曾介紹過du陣列的長度zhi是預先定義好的,在整個程dao序中固定不變專。屬c語言中不允許動態陣列型別。例如 用變數表示長度,想對陣...

c語言怎麼巨集定義2維陣列C語言怎麼巨集定義一個2維陣列

如果要強調是二維陣列,這樣也許更合適些 c c code?define m 80 define n 100 define array a,m,n a m n char array 1 例如 define m 80 define n 100 define array a,m,n a m n char ...

C語言中怎樣定義可變大小的陣列呢?我想根據自己的需要輸入陣列的大小,謝謝啦

通過指標和動態分配函式完成。如 int p p int malloc sizeof int 10 上述可申請大小為10的整型陣列。當然也可以用連結串列實現。這個很簡單,你不要給陣列規定大小就可以了,比如 a 這個陣列的大小就是你輸入的多少來決定的 常規定義是不可能的 呵呵 不過可以動態記憶體分配用c...