在不使用以下代码的情况下,如何初始化具有特定值(例如1)的2D数组的整个列?
int a[row][col];
for(i=0; i<row; i++)
{
a[i][col]=1;
}
如果要用相同的编号初始化2D数组的所有元素,则可以按照gcc提供的良好数组初始化快捷方式进行操作,例如:
int a[5][6]={ [0 ... 4][0 ... 5]=1};
看到效果,我们可以使用循环
int i,j;
for(i=0; i<5; i++)
{
for(j=0; j<6; j++)
printf("%d ",a[i][j]);
printf("\n");
}
生成矩阵
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
通过使用还有另一种可能性,memset()
但仅限于char类型(-128 ... 127)或无符号char(范围在0 ... 255之间)
如果你是SURE该数组的值不会在任何情况下不得超过限制,那么你可以通过定义这样的数组使用
char a[row][column];
并使用string.h
库中的memset函数对其进行初始化
memset ( a,1, sizeof(a));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句