【发布时间】:2019-04-22 16:23:20
【问题描述】:
我在这段代码中为char 指针分配了内存,我想检查它是否指向任何东西:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
char *p = (char*) malloc(sizeof(char)*10);
if(*p == 0)
printf("The pointer points nothing !\n");
}
我检查了它是否没有指向任何东西。我还打印了指针的长度,它打印了“3”,尽管它什么也没打印。这是什么原因,我如何检查它是否没有任何意义?
【问题讨论】:
-
malloc分配的空间未初始化。无法检查某些内容是否未初始化。您应该在读回之前将值存储在那里
-
我没有看到您'打印指针长度并打印“3”'的代码 - 你发帖时是否不知何故丢失了?
-
对不起,我忘记添加了。