为指针引导值导致硬故障

时间:2017-02-08 20:25:36

标签: c pointers atmelstudio

我已经将更大的错误问题缩小到看似简单的问题。

uint8_t *vald;
*vald=46;

这对代码会导致我的平台出现硬故障(Atmel Studio,GCC)

我做错了什么?

1 个答案:

答案 0 :(得分:1)

vald未初始化,这意味着它是零或未定义,具体取决于编译器是否清除局部变量的堆栈帧。写入地址零始终是错误,写入未定义的地址几乎总是错误。

*((uint8_t*)0) = 46;