- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《程序设计》多媒体教程
第九讲
第四章 数组、字符串、指针及其应用
4.4 字符串
4.4.1 字符串的存储
C语言没有为字符串提供专门的数据类型来定义字符串变量,而是要借助于数组或指针
来表示字符串。
※ 字符串常量的表达形式及存储
用双引号括起的字符序列称为字符串常量,例如:
“A □guy!\n”,“a”,“x=%d\n”,等等。
其中,□表示空格。在字符串中,每一个字符(包括空格‘\40’ AA □□ gg uu yy !! \n\n \0\0
和回车符‘\n’等) 占据一个字节。C语言规定,每个字符串的最后 aa \0\0
必须有一个结束符‘\0’(ASCII编码为0) 。因此,一个字符串所占 xx == %% dd \n\n \0\0
用的存储单元数量(字节数)等于字符序列中字符的个数+1。
【注意】‘a’和”a”有本质的区别,‘a’表示一个字符,占有一个字节,而”a”表示字符串,
占有2个字节,包含字符‘a’和‘\0’。
※ 字符数组的定义和存储
字符数组是存储字符串的一种常用的形式。在字符数组中,每个数组元素存放一个字符。
在字符数组中可以根据需要来决定是否加字符串结束符’\0’。
例如,定义以下字符数组,并给以赋初值:
char s1[8]={‘A’, ‘\40’, ‘g’, ‘u’, ‘y’, ‘!’, ‘\n’, ‘\0’}; /* ‘\40’是空格 */
char s2[4]={‘a’, , , }; /* s2[1],s2[2],s2[3] 的值不定 */
char s3[8]={‘x’, ‘=’, ‘%’, ‘d’, ‘\n’, ‘\0’, ‘y’, ‘\0’}; /* 存在2个’\0’ */
s1s1 AA □□ gg uu yy !! \n\n \0\0 数组数组s1s1 占有占有88个字节个字节
s2s2 aaa 不定 数组数组s2s2 占有占有44个字节个字节
不定不定
s3s3 xx == %% dd \n\n \0\0 yy \0\0 数组数组s3s3 占有占有88个字节个字节
由于在s1中有一个’\0’,因此可以说s1中存放了一个字符串“A □guy!\n”,或者说存放了8
个字符。s2中没有’\0’,因此只能认为存放了一个字符’a’。s3中虽然有两个’\0’,但是应该认
为存放了一个字符串“x=%d\n”,含有6个字符,或者说存放了8个字符。
4.4.2 字符和字符串的获取
※ 字符的逐个赋值
可以对字符数组的元素逐个赋值,从而获得一个字符序列。
例如,定义字符数组s :
char s[30];
int i;
for(i=0; i26; i++)
s[i] = ‘a’ + i; /* 对字符数组s 的元素逐个赋值 */
s[i] = ‘\0’
最后一个语句添加了字符结束符’\0’,表示字符数组s将获得一个字符串,含有27个字符。
如果没有最后一个语句,表示字符数组s仅仅获得一个字符序列,含有26个字符。
※ 字符串的非法赋值
C语言规定,不得用赋值语句将字符串常量赋值给字符数组,也不得用赋值语句将字符
指针指向字符串常量。例如,定义字符数组s和字符指针ps:
char s[30], *ps;
以下语句均是非法的:
s = “xxx”; /* 不得将字符串常量赋值给字符数组s */
ps = “xxx”; /* 不得将字符串常量赋值给字符指针ps */
※ 字符指针的目标
字符指针可以指向某个字
您可能关注的文档
最近下载
- 工业园区现场5S执行标准及操作手册.pdf VIP
- 应用运算定律提高学生的计算能力反思.pptx VIP
- 2025辽宁沈阳市铁西区面向社会招聘社区工作者73人考试参考题库及答案解析.docx VIP
- 当代西方隐喻理论要点.ppt VIP
- 跟腱断裂的术后康复.pptx VIP
- 纪纪录片《公司的力量》共十集解说词.doc VIP
- 10《苏武传》课件(共75张PPT)统编版高中语文选择性必修中册.pptx
- 中国华电集团公司投资管理办法.docx VIP
- 2025沈阳市铁西区面向社会公开招聘社区工作者73人考试备考题库及答案解析.docx VIP
- 6.4中国舞曲 课件 2025人音版音乐一年级上册.ppt
原创力文档


文档评论(0)