cquplz 发表于 2019-7-8 09:41:35

c的结构体的小问题

一个结构体里面的变量,定义了但没被初始化,后面调用了这个变量,那么这个变量是被随机赋值的吗?

我就是个弟弟 发表于 2019-7-8 09:43:40

这取决于编译器,有的编译器是默认置为0的。还有不叫随机赋值,就是读取内存中本来的值

风扫地 发表于 2019-7-8 09:54:17

本帖最后由 风扫地 于 2019-7-8 09:57 编辑

结构体变量的定义可以认为是以结构体类型为模板的一堆变量的打包批量定义,他们的初始化过程如楼上所说,看具体的实现,程序员不能默认认为编译器会自动帮助你进行了初始化,在明确需要初始化为0的场合,应由程序员去保证进行了初始化。
有很多编程规范中也要求程序员必须手动将变量初始化为0.
页: [1]
查看完整版本: c的结构体的小问题