c语言二维数组如何初始化为0

c语言二维数组如何初始化为0,第1张

  c语言二维数组如何初始化

  1 有两种方法

  (1)在定义时可以直接赋值来初始化

  (2)在定义后可以为其元素一个个来赋值

  2 示例

  1234567891011121314151617181920212223242526272829#include《stdio.h》

  void display(int arr[2][3], int row, int col){

  for (int i = 0; i 《 row; i++){

  for (int j = 0; j 《 col; j++){

  printf(“%d ”, arr[i][j]);

  }

  puts(“”);

  }

  puts(“”);

  }

  int main(){

  //方法(1)

  int arr1[2][3] = { { 1, 2, 3 }, { 4, 5, 6 } };

  //方法(2)

  int arr2[2][3];

  int num = 1;

  for (int i = 0; i 《 2; i++){

  for (int j = 0; j 《 3; j++){

  arr2[i][j] = num++;

  }

  }

  display(arr1, 2, 3);

  display(arr2, 2, 3);

  getchar();

  return 0;

  }

  3 运行结果

  c语言二维数组如何初始化为0,c语言二维数组如何初始化为0,第2张

  由结果可知,两种方式达到的效果是一样的

  4 扩展

  由于C语言中数组中的元素的地址是连续的,所以下面的写法也是可以的,运行效果同上

  12345678910111213141516171819202122232425262728#include《stdio.h》

  void display(int arr[2][3], int row, int col){

  for (int i = 0; i 《 row*col; i++){

  for (int j = 0; j 《 col; j++){

  printf(“%d ”, arr[i][j]);

  }

  puts(“”);

  }

  puts(“”);

  }

  int main(){

  //方法(1)

  int arr1[2][3] = { 1, 2, 3, 4, 5, 6 };

  //方法(2)

  int arr2[2][3];

  int num = 1;

  int *p = *arr2;//指向数组的第一个元素

  for (int i = 0; i 《 2 * 3; i++){

  *p++ = num++;

  }

  display(arr1, 2, 3);

  display(arr2, 2, 3);

  getchar();

  return 0;

  }

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2717227.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存