Chinaunix首页 | 论坛 | 博客
  • 博客访问: 178270
  • 博文数量: 89
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 828
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-08 10:44
文章分类
文章存档

2014年(9)

2013年(80)

我的朋友

分类: C/C++

2013-11-13 16:05:41

网上找了下,大概有两种方法:
一、用malloc
int n,*a;


scanf("%d",&n);


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


二、用calloc
在创建动态数组的过程中我们要遵循一个原则,那就是在创建的时候从外层往里层,逐层创建;而释放的时候从里层往外层,逐层释放。


一维动态数组的创建:


#include
#include
int main()
{
int n1,i;
int *array;
printf("请输入所要创建的一维动态数组的长度:");
scanf("%d",&n1);
array=(int*)calloc(n1,sizeof(int));
for(i=0;i {
 printf("%d\t",array[i]);
}
printf("\n");
for(i=0;i {
 array[i]=i+1;
 printf("%d\t",array[i]);
}
 free(array);//释放第一维指针 
return 0;
}
阅读(443) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~