malloc 使用基本流程:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX_SIZE sizeof(char) *100
int main()
{
char *ptr =(char *)malloc(MAX_SIZE); /*申请堆内存*/
if(ptr == NULL) /*判断是否申请成功*/
{
printf("内存分配失败");
exit(1);
}
memset(ptr, 0, MAX_SIZE); /*清空申请内存*/
strcpy(ptr,"可以使用了!!"); /*内存使用*/
printf("mem is %s\n", ptr);
free(ptr); /*释放内存*/
ptr = NULL; /*指针赋空*/
return 0;
}
注:使用六步走如下
1、分配内存空间。
2、检查内存分配成功与否。成功返回内存首地址,失败返回NULL。
3、清空分配好的内存空间。
4、使用内存。
5、使用完之后需要释放内存。
6、对指针置空。如果释放之后不置空的话,之后万一继续用到会成为野指针。