完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
1、C语言允许使用多维数组,最简单的多维数组是二维数组,定义多维数组时,在要在数组名后面增加相当于维数的常量表达式即可。
对于二维数组,其定义形式为: 数据类型 [存储器类型] 数组名[常量表达式1][常量表达式2]; 例如,定义一个无符号字符型二维数组, unsigned char m[3][4]; 二维数组以行列矩阵的形式存储,第一个下标代表行,第二个下标代表列。上一数组中个元素的排列顺序如下 m[0][0],m[0][1],m[0][2],m[0][3], m[1][0],m[1][1],m[1][2],m[1][3], m[2][0],m[2][1],m[2][2],m[2][3], 2、二维数组的赋值方法有两种: 1)按存储顺序整体赋值,这是一种比较直观的赋值方式,例如 int m[3][4]={0,1,2,3,4,5,6,7,8,9,10,11}; 如果是给全部元素赋值,可以不指定行数,例如 int m[][4]={0,1,2,3,4,5,6,7,8,9,10,11}; 2)按每行分别赋值。为了能更直观的给二维数组赋值,可以按每行分别赋值,这是要用 {}把每行的值包含起来,没有赋值的部分默认为0,例如 int m[3][4]={{0,1,2,3} {4,5,6,7} {8,9}}; 最后两个元素没有赋值,默认为0,即m[2][2]=0,m[2][3]=0。 3、数组的定义要注意以下几个问题: 1)数组名的命名规则同变量名的命名规则一样,要符合C语言标识符的命名规则 2)数组名后面的中括号[]是数组的标志,不能用圆括号或其他符号代替 3)数组元素的个数必须是一个固定的值,可以是整型常量、符号常量或者整形常量表达式。 4、本例创建一个二维数组num[3][4],然后从数组中选取3个数组元素num[0][0],num[1][2],num[2][3].然后分别将这三个元素送到P0口显示 5、在keil c51中新建工程ex31,编写如下程序代码,编译并生成ex31.hex文件 //实例31:二维数组演示实例 #include void delay(void) //延时函数 { unsigned int i,j; for(i = 0;i < 5000;i++) for(j = 0;j< 50;j++); } void main(void) { unsigned char num[3][4] = {{0x0f,0xf0,0x55,0xaa} , {0x01,0x02,0x03,0x04} , {0x05,0x06,0x07,0x08}}; //定义一个数组,同时给数组赋初值 P0 = num[0][0]; //数组的第一个元素送到P0口显示 delay(); // 延时一段时间 P0 = num[1][2]; // delay(); P0 = num[2][3]; delay(); while(1) { } } 6、在proteus中新建仿真文件ex31.dsn,原理图如下图所示 7、将ex31.hex文件载入at89c51中,启动仿真,运行结果依次如下图所示 |
|
|
|
只有小组成员才能发言,加入小组>>
2555 浏览 0 评论
1155浏览 2评论
758浏览 1评论
509浏览 0评论
270浏览 0评论
444浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 15:43 , Processed in 1.757508 second(s), Total 81, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号