本文介绍了在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 function
The 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之后的默认值是什么?
发布评论