本文介绍了为什么我的数组中有未分配的值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
#include <stdio.h>
int main(void)
{
int values[10];
int index;
values[0] = 197;
values[2] = -100;
values[5] = 350;
values[3] = values[0]+values[5];
values[9] =
values[5] / 10;
--values[2];
for (index = 0; index < 10; index++)
printf ("values[%i] = %i\n", index, values[index]);
return 0;
}
为什么在未分配的元素1、4和6-8中有值?我没有分配任何值.我如何让它在为空时自动分配0?
Why do I have values in the unassigned elements of 1, 4, and 6-8? I didn't assign any values. How can I make it assign automatically 0 when it's empty?
推荐答案
您没有分配它们,因此您只需要获取这些位置内存中已经存在的任何垃圾即可.
You didn't assign them, so you just get whatever rubbish was already in memory at those locations.
要零初始化,您可以执行以下操作:
To zero-initialize, you can do this:
int values[10] = {0};
或者,使用 memset
.
Alternatively, use memset
.
这篇关于为什么我的数组中有未分配的值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!