c - malloc() 分配的数据不为零

标签 c linux memory memory-management

我使用“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/

相关文章:

linux - 如何使用 bash 从一行中提取特定消息

android - 在android开发中我应该为<TargetID>放置什么

Python过滤和保存

memory - 第四:将名称与内存地址关联起来

c - 在这种情况下如何释放内存?

c - 插入排序运行时错误

c - 将指针传递给 C 中的函数的问题

c - C编译器中的变量大小是否依赖?

c++ - 数组初始值设定项中的多余元素

c - 嵌套结构分配内存