gpt4 book ai didi

c - 取消引用大小为 Legal 的未初始化指针吗?

转载 作者:太空宇宙 更新时间:2023-11-04 04:45:06 25 4
gpt4 key购买 nike

<分区>

给定以下代码,它在 C 中是否合法?(C89、C99 等等?)

DATA_STRUCT *ptr;

ptr = malloc(sizeof(*ptr) + 400);

memset(ptr, 0, sizeof(*ptr)); // clearing only the structure itself (not the 400 additional bytes).

我知道 VLA 和 sizeof 在运行时被评估,但对于所有其他情况,它总是在编译时吗?


编辑:从答案中我看到这可能是由于:

  1. 一个编译器错误
  2. 堆损坏

1 似乎不太可能,所以我倾向于 2。无论哪种方式,这都需要进一步调查。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com