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

您所在的位置:网站首页 c语言中二维数组的初始化 c语言二维数组如何初始化为0

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

#c语言二维数组如何初始化为0| 来源: 网络整理| 查看: 265

c语言二维数组如何初始化为0 2017-11-16 34809 分享海报

编程语言及工具

86人已加入 描述

  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

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

  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;

  }

  c二维数组初始化为0的2种实现方式

  1 #include 《stdio.h》

  2 #include 《stdlib.h》

  3 #include 《string.h》

  4 int main()

  5 {

  6 //char a[2][4] ;

  7 char a[2][4] = {0} ;

  8 char *b =a[0];

  9 for (int i=0; i《8; i++)

  10 {

  11 printf(“%d ”, *(b+i));

  12 }

  13 printf(“\n------------\n”);

  14 //memset(a,0x0, sizeof(a));

  15

  16 for (int i=0; i《8; i++)

  17 {

  //printf(“%d”, b[i]);

  //printf(“%d”, a[i]); //这个是错的输出结果,原因是这个时候a的类型是二维指针,编译器的解析不是我们想象的那个样子!

  //它输出的是那一行的数据,

  18 printf(“%d ”, *(b+i));

  19 }

  20 }

打开APP阅读更多精彩内容


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3