动态分配内存空间过程
本篇文章仅以一个非常短小的程序进行讲解。
C编译系统提供4个内存动态分配函数:calloc(),malloc()用于动态申请内存空间,realloc()用于重新改变已分配的动态内存空间的大小,free()用于释放不再使用的动态内存空间。
Malloc()调用格式
Void *malloc(size):这是一个指针型函数,用来按字节数申请内存分配。如申请100个整数的内存空间,可按照以下方式调用:
Int *p;
P=(int*)malloc(sizeof(int)*100);
#include <STDIO.H> #include <STDLIB.H> void main(){ int N,s,i; int *p; printf("请输入数据的个数:\n"); scanf("%d",&N); if((p=(int *)malloc(N*sizeof(int)))==NULL){ printf("动态分配内存失败.\n"); exit(1); } printf("输入%d个整数:\n",N); for(i=0;i<N;i++){ scanf("%d |