C语言如何定义动态数组

Python011

C语言如何定义动态数组,第1张

C语言定义动态数组需要用到动态内存分配函数,参考代码如下:

#include<stdio.h>

#include<stdlib.h>

int

main()

{

int

*a=NULL,n,i

scanf("%d",&n)

a=(int

*)malloc(n*sizeof(int))

for(i=0i<n++i)

a[i]=i

for(i=0

i<n

++i)

printf("%d

",a[i])

free(a)

a=NULL

return

0

}

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个元素的空间。