【发布时间】:2021-11-04 12:46:01
【问题描述】:
struct abc
{
float b;
};
abc* xyz;
xyz->b = 10;
printf("%f", xyz->b);
printf 出错。 是什么原因? 我该如何解决这个问题?
【问题讨论】:
-
你忘记为 xyz 分配内存
-
您的指针
xyz未初始化。谁知道它指向哪里(但使用它值得一个总线错误或分段错误)。 -
这里不需要使用指针。只需使用
abx xyz; xyz.b=10;... -
@ChrisMM 那也是 :),C++ 代码无论如何都应该有最少的新/删除数
-
读取未初始化的指针,例如您的
xyz会导致未定义的行为。
标签: c++