第五单元 顺序地组织同类型数据—数组类型0.ppt

第五单元 顺序地组织同类型数据—数组类型0.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.3 字符数组 用来存放字符数据的数组是字符数组,字符数组中的一个元素存放一个字符,字符数组也有一维及多维之分。字符数组可以用来存放多个字符,也可以用来存放字符串。字符数组中存放的是字符还是字符串,其区别在于数组元素中是否有字符串结束标志(‘\0’)。 一般形式为: char 数组名 [ 常量表达式 ]; 例如:char c[10]; //占用存储空间为10个字节 5.3.1 字符数组的定义 新概念C语言教程 第五单元 顺序地组织同类型数据—数组类型 5.3.2 字符数组的初始化 ⑴用字符赋初值:如:char a[3]={I, B, M}; 说明: ①如果花括弧中提供的初值个数(即字符个数)大于数组长度,则在编译时,系统会提示为语法错误。如果初值个数小于数组长度,则只将这些字符赋给数组中前面那些元素,其余元素由系统自动定为空字符(即‘\0’)。如: char c[10]={C, h, i, n, a} ②如果提供的初值个数与定义的数组长度相同,则在定义数组时可以省略数组长度说明,系统会自动根据初值个数确定数组长度。如 char c[ ]={a,b,c,d,e,f,g,h,i,j}; c[0] c[1] c[2] c[3] c[4] c[5] c[6] c[7] c[8] c[9] C h i n a \0 \0 \0 \0 \0 新概念C语言教程 第五单元 顺序地组织同类型数据—数组类型 5.3.2 字符数组的初始化 (2) 用字符串赋初值: char c[ ]= {“happen”};或 char c[ ]= “happen”; 说明: ①在C和C++语言中,没有字符串数据类型,因此常常将字符串作为字符数组来处理。转义字符 ‘\0 ’表示的是字符串常量中字符串的结束标志,在末尾保存了‘\0 ’的字符型数组,也可以当成字符串来使用。也就是说,在遇到字符 ‘\0 ’时,表示字符串结束,由它前面的字符组成字符串。系统对字符串常量也自动加一个‘\0 ’作为结束符。例如: Program共有7个字符,但在内存中占8个字节,最后一个字节 \0 是由系统自动加上的。 新概念C语言教程 第五单元 顺序地组织同类型数据—数组类型 5.3.2 字符数组的初始化 (2) 用字符串赋初值: char c[ ]= {“happen”};或 char c[ ]= “happen”; 说明: ②在定义数组长度时,应在字符串应有的最大长度的基础上加1,为字符串结束标志预留空间。例如定义一个有10个字符的字符串,应定义字符数组长度为11,即:char c[11]; ③在程序中往往依靠检测\0 的位置来判定字符串是否结束,而不是根据数组的长度来决定字符串长度。当然,在定义字符数组时应估计实际字符串长度,保证数组长度始终大于字符串实际长度。如果在一个字符数组中先后存放多个不同长度的字符串,则应使数组长度大于最长的字符串的长度。 新概念C语言教程 第五单元 顺序地组织同类型数据—数组类型 5.3.2 字符数组的初始化 (2) 用字符串赋初值: char c[ ]= {“happen”};或 char c[ ]= “happen”; 说明: ④不用单个字符做初值,而是用一个字符串做初值,这种方法比较直观、方便,更符合人们的习惯。   需要说明的是:对于字符数组并不要求它的最后一个字符必须为\0,甚至可以不包含\0,下面这种定义完全正确: char c[5]={ C , h , i , n , a }; 只要用字符串常量赋初值时,就会自动加一个\0。有时,人们为了保持处理的一致性,便于测定字符串的实际长度,以及在程序中作相应的处理,在用单个字符赋初值时往往人为地加上\0,如:char c[6]={ C , h , i , n , a , \0}; 新概念C语言教程

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档