Tag: 数组初始化

在C / C ++中初始化数组是一种好习惯吗?

我最近遇到一个案例,我需要比较两个文件(黄金和预期)来validation测试结果,即使写入两个文件的数据相同,文件也不匹配。 在进一步调查中,我发现有一个结构包含一些整数和一个64字节的char数组,并且并非所有char数组的字节都在大多数情况下被使用,而数组中未使用的字段包含随机数据造成了不匹配。 这让我提出了一个问题,即在C / C ++中初始化数组是否也是一个好习惯,因为它是用Java完成的?

为什么此数组的所有剩余值都初始化为零?

你好我是C编程语言的初学者,最近我开始学习数组 ,我研究过默认情况下int数组中的所有值都是垃圾 。 那么为什么我在这两种情况下得到不同的价值观。 情况1 int arr[5]; 在这种情况下,从arr [0]到arr [4]我们将有垃圾值,但在下一种情况下。 案例2 int arr[5] = {1}; 在这种情况下,arr [0]将具有值1,并且从arr [1]到arr [4]的剩余值将为0。 我的问题是,在case-1中,每个未初始化的arrays位置都有垃圾valeus,那么为什么在2-case剩余的未初始化arrays位置具有0作为默认值。

当大小是变量而不是常量时,如何创建数组?

我有一个接收变量int的方法。 该变量构成一个数组大小(请不要给我一个向量)。 因此,我需要在我的方法中初始化一个const int来初始化一个特定大小的数组。 问题:我该怎么做? void foo(int variable_int){ int a[variable_int] = {0}; //error }