设为首页 加入收藏

TOP

C语言中动态数组的实现
2016-12-28 08:15:33 来源: 作者: 【 】 浏览:27
Tags:言中 动态 实现

C语言中动态数组的实现

C语言中,数组的长度在定义变量的时候便需要指定,并且只能是一个常数,不能是其它变量。所以,一旦定义了一个数组,系统将为它分配一个固定大小的空间,以后都不能改变,这样的数组称为静态数组。

但在某些时候,我们需要的数组的长度是无法预先确定的,要解决这样的限制,需要使用动态数组。动态数组是相对于静态数组而言。动态数组的内存空间是从堆(heap)上分配的,是在执行代码过程中分配的,当程序执行到这些语句时,才为其分配。注意,程序员自己负责释放内存。

创建动态数组的例子如下所示:

#include
#include

int main(){
int arrLen; //数组的长度
char *array; //数组指针
char c;
int i;
printf("please set the size of the array:");
scanf("%d",&arrLen);

 // 动态分配内存空间,如果失败就退出程序
    array = (char*)malloc( arrLen*sizeof(char) );
    if(!array){
        printf("创建数组失败!\n");
        exit(1); 
    }

// 向内存中写入数据
    for(i=0; i 
 

运行结果,是你手动输入的字母。

malloc()是用来动态分配制定大小的内存空间。

free()是用来释放整块内存。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇打鱼晒网C实例 下一篇一起talk C栗子吧(第一百九十六..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

最新文章

热门文章

C 语言

C++基础

windows编程基础

linux编程基础

C/C++面试题目