【发布时间】:2019-03-22 01:49:29
【问题描述】:
只是一个奇怪的问题。如果我尝试从具有NULL 值的地址访问数据会发生什么。
例如:如果我有一个存储NULL 的结构指针ulog 并且编译器(在我的情况下是GCC)遇到ulog->data=12?
我主要想知道这是否会影响我的记忆,与控制语句一起使用时是否返回 NULL 以及编译器出了什么问题?
【问题讨论】:
-
编译器不会/不需要抱怨。在运行时,程序将因段错误而中止。
-
取消引用空指针会导致undefined behavior,如果使用指针写入一些数据(如在您的示例分配中),那么您很可能会崩溃。 总是检查指针。
-
编译器不在乎,你是程序员……操作系统肯定会很失望……
标签: c memory-management struct