找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6495|回复: 1
收起左侧

C语言的字符串数组演示

[复制链接]
ID:26661 发表于 2010-11-3 10:12 | 显示全部楼层 |阅读模式
1、基本类型为字符类型的数组称为字符数组。字符数组是用来存放字符的。字符数组时C语言中常用的一种数组。字符数组中的每个元素都是一个字符,因此可用字符数组来存放不同长度的字符串。 字符数组的定义方法与一般数组相同,例如 char good[12]={'I',' ','l','o','v','e','y','o','u'.'\0'}; 也可以定义成char good[]={“I love you!”}; 这两种定义方式的效果是一样的。 或者写成更简洁的型式:char good[]=“I love you!”; 2、在C语言中字符串是作为字符数组来处理的。一个一维的字符数组可以存放一个字符串,这个字符串的长度应小于或等于字符数组的长度。为了测定字符串的实际长度,C语言规定以'\0'作为字符串结束标志,对字符串常量也自动加一个'\0'作为一个结束符。因此,字符数组int a[n]可以存储的字符串最大长度为n-1,在访问字符数组时,遇到'\0'就表示字符串结束,因此在定义字符数组时,应使数组长度大于它允许存放的最大字符串的长度。 对于字符数组的访问可以通过数组中的元素逐个进行访问,也可以对整个数组进行访问。 3、本实例利用P0口显示字符串常量, 将待显示字符串常量赋给一个字符型数组,然后通过数组元素引用的方法一次将各元素送到P0口显示。字符型数组中各字符数据在单片机中是以字符的ASCII码存放的,如‘a’的ASCII码为97.将‘a’送到p0口,就相当于把数据97送到P0口,所以P0口各LED会被相应点亮。 4、在keil c51中新建工程文件ex32,编写如下程序代码,编译并生成ex32.hex文件 // 实例32:字符串数组演示实例 #include //包含头文件 void delay(void) //延时函数 { unsigned char i,j; for(i = 0;i < 220;i++) for(j = 0;j < 220;j++); } void main(void) { unsigned char str[]={"I love mcu!"}; // 定义字符串数组,并赋值 unsigned char i; while(1) { // i=0; // I初始化为0,从数组的第一个元素开始显示 while(str!='\0') //判断字符串数组有没有显示到结束标志 { P0=str; // 将第I个字符送到P0口显示 delay(); // 延时一会 i++; //指向下一个数组元素 } } }
[此贴子已经被作者于2010-11-3 10:31:58编辑过]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表