第5周 经典小程序1 题 动态数组的实现

来源:互联网 发布:淘宝卡片祝福语幽默 编辑:程序博客网 时间:2024/05/18 01:12

数组长度随数组元素改变,不会溢出,不会浪费资。

下面的代码实现了简单的动态数组:

问题及代码:

#include<stdio.h>#include<stdlib.h>int main(){    //从控制台获取数组数值大小;    int N;    int *a;    int i;    printf("Input array length: ");    scanf("%d",&N);    //分配空间;    a=(int*)calloc(N,sizeof(int));    //控制循环填充数据;    for(i=0;i<N;i++)    {        a[i]=i+1;        printf("%-5d",a[i]);        if((i+1)%10==0)           {             printf("\n");           }    }    //释放内存    free(a);    a=NULL;    printf("\n");    return 0;}
运行结果:

知识总结:

使用void *calloc(size_t n, size_t size);

其功能为:在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针

如果分配不成功,返回NULL。

free()释放内存;

学习心得:

学会了为动态数组分配合适的内存;

在写程序时,不小心在if()内加入了"",导致分行失效。

0 0
原创粉丝点击