首页 > 作文

从头学习C语言之二维数组

更新时间:2023-04-04 19:10:17 阅读: 评论:0

目录
二维数组:语法:二维数组存放方式:二维数组的访问:二维数组的初始化示例:总结

二维数组:

引入一个想法:一个变量:相当于一个点。一维数组(也就是数组):点汇聚成为一条直线。二维数组:直线汇聚成一个平面。三维数组:平面汇聚成立体图形。

语法:

类型 数组名[常量表达式][常量表达式]

int a[6][6];//6*6,6行6列char b[4][5];//4*5,4行5列double c[6][3];//6*3,6行3列

二维数组存放方式:

二维数组的访问:

数组名[下标][下标]a[0][0];//访问a数组中第一行第一列的元素b[1][3];//访问b数组中第二行第四列的元素c[3][3];访问c数组中第四行第四列的元素同样要注意下标的取值范围,以防止数组的越界访问。—比如int a[3][4],其“行下标”的取值范围是0 ~ 2,“列下标”的取值范围是 0 ~ 3,超出任何一个下标的访问都是越界访问。(非常容易中招

二维数组的初始化

二维数组在内存中是线性存放的,因此可以将所有的数据写在一个花括号内:int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};为了更直观的表示元素的分布,可以用大括号将每一行的元素括起来:int a[3]qq举报中心[4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};或者int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};二维数组也可以仅对部分元素赋初值:int a[3][4]={{1},{5},{9}};如果希望整个二维数组初始化为0,呢么直接在大括号里写一个0即可:int a[3][4]={0};c99同样增加了一种新特性:指定初始化的元素。这样就可以只对数组中的某些指定元素进行初始哈赋值,而未被赋值的元素自动初始化为0:int a[3]尘缘叹[4]={[0][0]=1,[1][1]=2,[2][2]=3};二维数组的初始化也能偷懒,让编译器根据元素的数量计算数组的长度。但只有第1维的元素个数可以不写,其他维度必须加上:int a[][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};

示例:

例一:二维数组的舒服写法:

  1 #include<stdio.h>  2 int main()  3 {  4   int a[3][4]={  5     {1,2,3,4},  6     {5,6,7,8},  7     {9,10,11,12}  8   };  9   int i,j; 10   for(i=0;i&工作安排计划表lt;3;i++) 11   { 12     for(j=0;j<4;j++) 13     { 14       printf("%d ",a[i][j]); 15     } 16     printf("\n"); 17   } 18 printf("\n"); 19   return 0; 20 }  

例二:对前三行每一行的第一个元素赋初值,其他没有被赋值的自动补充为0:

  1 #include<stdio.h>  2 int main()  3 {  4   int a[3][4]={{1},{2},{5}};  5   //把前三行每一行的第一个元素赋初值,其他没有被赋值的自动补充为0。  6   //如果赋值的数,多于三个,后面的会报错,并且自动不算数。  7   //如果没有对数组进行赋值,则得出的结果为随机数。  8农历新年   int i,j;  9   for(i=0;i<3;i++) 10   { 11     for(j=0;j<4;j++) 12     { 13       printf("%d ",a[i][j]); 14     } 15     printf("\n"); 16   } 17   return 0; 18 }    1 #include<stdio.h>  2 int main()  3 {  4   int a[3][4]={{1},{2},{5}};  5   //把前三行每一行的第一个元素赋初值,其他没有被我学会了画画赋值的自动补充为0。  6   //如果赋值的数,多于三个,后面的会报错,并且自动不算数。  7   //如果没有对数组进行赋值,则得出的结果为随机数。  8   int i,j;  9   for(i=0;i<3;i++) 10   { 11     for(j=0;j<4;j++) 12     { 13       printf("%d ",a[i][j]); 14     } 15     printf("\n"); 16   } 17   return 0; 18 }  

例三:指定数组元素,其他元素自动补充为0:

  1 #include<stdio.h>  2 int main()  3 {  4   int a[3][4]={[2][3]=1,[2][1]=8,[1][2]=5};  5   int i,j;  6   for(i=0;i<3;i++)  7   {  8     for(j=0;j<4;j++)  9     { 10       printf("%d ",a[i][j]); 11     } 12     printf("\n"); 13   } 14   return 0; 15 }  

例四:证明只有第一维可以不写数值:

  1 #include<stdio.h>    2 int main()    3 {    4   int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};//只有第一维可以不写  5   int i,j;  6   for(i=0;i<3;i++)  7   {  8     for(j=0;j<4;j++)  9     { 10       printf("%d ",a[i][j]); 11     } 12     printf("\n"); 13   } 14   return 0; 15 }  

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注www.887551.com的更多内容!

本文发布于:2023-04-04 19:10:16,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/4292d39a1f701c374fbf63ed6b8812fa.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:从头学习C语言之二维数组.doc

本文 PDF 下载地址:从头学习C语言之二维数组.pdf

下一篇:返回列表
标签:数组   元素   赋值   初值
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图