我有一个简单的问题。我们知道可以为字符串设置一个特定的限制并初始化其中的任何单词,只要单词不超过字符串数组的限制即可。
str[100]="HELLO WORLD";
在这里我不必放置100个字符,但是我可以使用for循环对整数数组做同样的事情并避免垃圾值吗?
4-array size
2 2 3-given value
在这里,我只想给数组分配一些整数值,其余未索引的索引将自动分配为0。然后,即使我用户不给我数组大小,我也可以将其他索引设置为0 。 举个例子:
n=5.
number[5];
for(i=0;i<n;i++)
{
scanf(“%d”,&number[i]);
//suppose user only assigned three integers which is
//number[0],number[1],number[2]
// the rest of the array number[3],number[4] are garbage values which i
//want to turn them to 0’s.how?
}
您可以使用可变长度数组。但是,此类数组无法初始化,因此如果要避免垃圾值,则必须手动将它们清零。
int n = 5;
int arr[n];
memset(arr, 0, sizeof arr);
或使用动态分配:
int n = 5;
int *arr = calloc(n, sizeof *arr);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句