malloc使用细节(东西虽小,出现问题影响挺大,注意留意)

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、对指针置空。如果释放之后不置空的话,之后万一继续用到会成为野指针。

发布了20 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_36662608/article/details/54580029