在C中初始化2D数组的整个列

苏潘卡(Paul Subhankar Paul)

在不使用以下代码的情况下,如何初始化具有特定值(例如1)的2D数组的整个列?

int a[row][col];
for(i=0; i<row; i++)
{
   a[i][col]=1;
}
Meninx

如果要用相同的编号初始化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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章