一:
内存的动态分配是通过系统提供的库函数来实现的,主要有malloc,calloc,free,realloc四个函数。
二:介绍:
用malloc函数来开辟动态存储区:
函数原型: void *malloc(unsigned int size);
其作用是在内存的动态存储区内分配1个长度为size长度的连续空间。
用calloc函数来开辟动态存储区:
函数原型:void *calloc(unsigned n,unsigned size);
其作用是在内存中分配n个长度为size的连续空间
用realloc函数来重新分配动态存储区:
函数原型:void *realloc(void *p,unsigned int size);
将已分配的动态存储空间重新新分配。
用free函数释放动态存储区:
函数原型:void free(void *p);
其作用是释放指针变量p所指向的动态空间,使这部分空间能重新被其他变量使用。
例题:
代码如下:
#include<stdio.h>
#include<malloc.h>
int main()
{int *p=(int *)malloc(40);
int i;
for(i=0;i<=4;i++)
scanf("%d",p+i);
for(i=0;i<=4;i++)
if(*(p+i)<60)
printf("%d ",*(p+i));
}