实验6 动态申请内存
【实验目的】
(1)掌握linux中动态申请内存的方法。
(2)了解操作系统对于高级语言程序设计所提供的环境支撑。
【实验原理/实验基础知识】
为了提高内存利用率,用户程序常采用动态请求内存的方式使用内存。Linux提供了3种动态内存分配方式,3种动态内存分配方式下申请内存空间后,可以调整空间大小,使用完毕后需释放申请到的内存空间。
1. 第一种动态内存分配方法
第一种动态内存分配方法作为高级语言的库函数直接提供给用户使用。使用方法如下:
1) 用void *malloc(int size)申请分配指定size个字节的内存空间,返回该区域的首地址。
2) 用void *realloc(void *ptr,int size)扩大或缩小ptr指定内存大小为size个字节,返回该区域的首地址,地址可能与原区域首地址不同。
3) 用free(void ptr)释放ptr指定的内存区域。
[例]:申请、使用、释放内存。
#include<stdio.h>
#include<string.h>
#include<malloc.h>
Int main(void)
{
Char str;
If((str=(char)malloc(10))==null)
{
Printf(“Not enough memory to allocate buffer\n”);
Exit(1);
}
Strcpy(str,”hello”);
Printf(“str