当前位置:首页 > 内存 > 正文

c语言申请动态内存

  • 内存
  • 2024-06-01 03:11:12
  • 5701

一、C语言中结构体数组的大小如何动态分配结构化数据组与我们通常定义的基本类型数组相同,只是类型发生了变化。
动态分配基本数组大小:
int*a=(int*)malloc(sizeof(int)*10);//动态分配10个int类型内存空间
结构化类型数组分配大小:
structDIYDEFINE
{
inta;
charch;
longlnum;
};
DIYDEFINE*pDiy=(DIYDEFINE*)malloc(sizeof(DIYDEFINE)*10);//为大小为10的结构体类型DIYDEFINE动态分配内存空间。


二、C语言中二维数组如何申请动态分配内存

1.使用malloc函数先分配第一个维度的大小,然后循环分配每个维度的大小。

2.分配3行4列二维数组的例程:

#include
#include
intmain()
{
int**a;
inti,j;
a=(int**)malloc(sizeof(int*)*3);//为二维数组分配3行
for(i=0;i<3;++i){//为每列分配4个大小范围
a[i]=(int*)malloc(sizeof(int)*4);
}
//初始化
for(i=0;i<3;++i){
                                                                               /输出测试
for(i=0;i<3;++i){
for(j=0;j<4;++j){
printf("%d",a[i][j]);
                                                                                                                                                i=0;我<3;++i){
free(a[i]);
}
free(a);
return0;
}
/*
输出:
0123
1234
2345
*/