这个是不是就是所谓的野指针?
有如下测试代码:#include <stdio.h>
typedef struct _TEST_Obj_t
{
int a;
float b;
} TEST_Obj_t;
typedef _TEST_Obj_t *TEST_Handle;
void main()
{
TEST_Handle testhandle;
//TEST_Obj_t test;
//testhandle = & test;
testhandle->a = 88;
printf("%d\n", testhandle->a);
}
编译没问题,但运行报错,将注释掉的两行取消注释就没问题了。这是不是因为testhandle在创建的时候没有对其进行初始化,从而导致其成为所谓的“野指针”?如果是这样的话,testhandle->a = 88这句对其所指的内容进行了赋值,相当于该指针所指有东西啦,为啥还会报错呢?