C语言里动态内存分配的问题
C语言里动态内存分配的问题为什么需要if指针等于NULLNULL什么意思?这个步骤的意义是什么可以不用这个步骤吗...
C语言里动态内存分配的问题为什么需要if 指针等于 NULL
NULL什么意思?这个步骤的意义是什么
可以不用这个步骤吗 展开
NULL什么意思?这个步骤的意义是什么
可以不用这个步骤吗 展开
2个回答
展开全部
C语言中动态分配内存的三个函数是:
#include <stdlib.h>
void *calloc( size_t num, size_t size );
#include <stdlib.h>
void *malloc( size_t size );
#include <stdlib.h>
void *realloc( void *ptr, size_t size );
当发生错误时,这三个函数都会返回NULL(0),意味着动态内存分配失败。因此每次调用这些函数分配内存时,都要用if语句检查函数的返回值,以确保成功分配了内存,原则上是不能省略这个检查步骤的。
NULL是一个预定义的宏,它的值是0。这个宏是像这样定义的:
#define NULL 0
#include <stdlib.h>
void *calloc( size_t num, size_t size );
#include <stdlib.h>
void *malloc( size_t size );
#include <stdlib.h>
void *realloc( void *ptr, size_t size );
当发生错误时,这三个函数都会返回NULL(0),意味着动态内存分配失败。因此每次调用这些函数分配内存时,都要用if语句检查函数的返回值,以确保成功分配了内存,原则上是不能省略这个检查步骤的。
NULL是一个预定义的宏,它的值是0。这个宏是像这样定义的:
#define NULL 0
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询