取消引用 NULL 指针 C++
Derefering NULL pointer c++
我收到警告:在第 2、4 行取消引用 NULL 指针 'ch'
我不明白为什么。有人可以帮我吗?
char *my_alloc(size_t size) {
char *ch = (char *)malloc(size);
//FIXED: If malloc fails -> exit program
if(*ch == NULL){
exit(0);
}
return ch;
}
if(ch == NULL)
就是你所需要的
您在 if
中的代码 *ch
取消引用 ch
ch == NULL
检查 ch
是否为 NULL
*ch == NULL
检查ch
点的物品是否为NULL
对于 c++(您在问题中报告使用的内容),答案是
char *ch = new char[size];
随后在某个时候 delete[] ch
。
然后您不需要检查结果是否为 null,因为如果失败它会抛出。
我收到警告:在第 2、4 行取消引用 NULL 指针 'ch'
我不明白为什么。有人可以帮我吗?
char *my_alloc(size_t size) {
char *ch = (char *)malloc(size);
//FIXED: If malloc fails -> exit program
if(*ch == NULL){
exit(0);
}
return ch;
}
if(ch == NULL)
就是你所需要的
您在 if
*ch
取消引用 ch
ch == NULL
检查 ch
是否为 NULL
*ch == NULL
检查ch
点的物品是否为NULL
对于 c++(您在问题中报告使用的内容),答案是
char *ch = new char[size];
随后在某个时候 delete[] ch
。
然后您不需要检查结果是否为 null,因为如果失败它会抛出。