c语言二维数组如何初始化为0 |
您所在的位置:网站首页 › c语言中二维数组的初始化 › c语言二维数组如何初始化为0 |
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 运行结果
由结果可知,两种方式达到的效果是一样的 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 |