在c中的malloc之后的默认值是什么? [英] what is the default value after malloc in c?
本文介绍了在c中的malloc之后的默认值是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下代码:
int *p;
p = (int*)malloc(sizeof(int) * 10);
但是这个有10个元素的int数组的默认值是什么?都是0吗?
but what is the default value of this int array with 10 elements? are all of them 0?
推荐答案
实际内容不确定.
C11,第7.22.3.4节
malloc
函数
malloc
函数为对象的大小分配空间,该对象的大小由size和 值不确定的.
C11, § 7.22.3.4 The
malloc
functionThe
malloc
function allocates space for an object whose size is specified by size and whose value is indeterminate.
但是,操作系统通常将此内存空间初始化为0(请参阅此答案).您可以使用calloc
来确保每个位都设置为0.
However, the operating system often initializes this memory space to 0 (see this answer). You can use rather calloc
to be sure that every bits are setted to 0.
这篇关于在c中的malloc之后的默认值是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文