我使用“malloc()”为 C 语言中的结构分配内存。部分结构如下:
struct f2fs_sb_info {
struct f2fs_fsck *fsck;
struct f2fs_super_block *raw_super;
struct f2fs_nm_info *nm_info;
struct f2fs_sm_info *sm_info;
struct f2fs_checkpoint *ckpt;
};
我发现 raw_super
的值始终为零,而 ckpt
的值始终为 0x40000050
。
我知道 malloc()
不会初始化分配的内存。所以分配的内存应该有随机值。但是 ckpt
的值始终是 0x40000050
并且每次运行程序时都不会改变。为什么?
最佳答案
分配的内存可以在分配后存储任何值,但它不一定是随机的 - 分配根本不是随机生成器。
关于c - malloc() 分配的数据不为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41717009/