您的位置:首页 > 编程语言 > C语言/C++

C语言如何动态申请空间(一维和二维)

2016-12-14 17:11 351 查看
C语言如何动态申请一维和二维空间呢?

这里有个小例子,看过后就很容易理解

编译环境为vs2013

#include <stdio.h>
#include <stdlib.h>
#define M 10000
int main(){
int *a = NULL;
a = (int*)malloc(sizeof(int)*M);  //为a申请int型的空间,其大小为M
printf("申请空间完成\n");
free(a);   //释放空间
system("pause");
return 0;
}


二维的原理也是一样的

#include <stdio.h>
#include <stdlib.h>
#define M 100
#define N 100

int main()
{
short **a=NULL;
int i;
a = (short**)malloc(sizeof(short*)*M);
for (i = 0; i < M; i++)
{
a[i] = (short*)malloc(sizeof(short) * N);
}
printf("申请空间完成\n");
for (i = 0; i < M; i++)
{
free(a[i]);
}
free(a);
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息