gpt4 book ai didi

c - 最后一个内存块中 Calloc 中的垃圾值

转载 作者:行者123 更新时间:2023-11-30 15:03:32 25 4
gpt4 key购买 nike

main()
{
int *p;
p = calloc(5,2);
int i;
for(i=0;i<5;i++){
printf("%d ",*(p+i));
}
}

当calloc默认将所有 block 的内存设置为零时,为什么输出在最后一个内存块中给出垃圾值?

最佳答案

您应该使用calloc(5, sizeof(int))。您分配了 5 x 2 字节,但 int 通常是 4 字节大。由于可移植性,使用 sizeof() 是一个很好的做法。

关于c - 最后一个内存块中 Calloc 中的垃圾值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40706937/

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