凌阳教育的个人空间 https://blog.eetop.cn/204849 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

字符串变量的声明与初始化

已有 888 次阅读| 2016-4-15 14:23

C语言并不支持字符串的序列,可看做是一个单个数据项。我们在前面的很多示例中已经使用过字符串了。定义在双引号之间的字符组就是一个字符串常量。例如:

"\"Man is obviously made to think,\"said Pascal"

例如,语句

printf("\"Well Done!"\")

将输出字符串

"Well Done!"

printf("\"Well Done!"\")

的输出为

Well Done

字符串经常用于创建有意义且可读性好的程序。作用于字符串的常见操作包括:

读写字符串;

字符串的合并;

字符串的复制;

比较两个字符串是否相等;

从字符串中提取子字符串。

字符串变量的声明与初始化

C语言并不支持字符串数据类型。但是,它允许使用字符数组来表示字符串,因此,在C语言中,字符串变量就是一个字符数组。字符串变量声明的一般形式为:

char string_name[size];

其中,size确定了string_name的字符数。示例如下:

char city[10];

char name[30];

当编译器把字符串赋给字符数组时,会自动地在字符串的末尾添加空字符。因此,size必须等于字符串中的最大字符数再加上1

与数字数组一样,字符数组也可以在声明时进行初始化。C语言允许以如下两种方式初始化:

char city[9]="NEW YORK";

char city[9]={'N' 'E' 'W' 'Y' 'O' 'R' 'K','\0''};

数组city的大小必须为9个的原因是,字符串NEW YORK含有8个字符,另外还有一个空字符。注意,当以元素列举的方式初始化字符数组时,必须显示地加上空字符。

C语言在初始化字符数组时,也可以不用指定数组的大小。在这种情况下,数组的大小将根据初始化元素的数量自动确定。例如,语句

char string={'G','O','O','D','\0'};

会将数组string定义为包含5个元素的数组。

也可以把数组的大小声明得比初始化的字符串更大。也就是说,语句

char str1[10]="GOOD"

是合法的。在这种情况下,计算机创建一个大小为10的字符数组,并把值“GOOD置于其中,以空字符结尾,其他元素则初始化为空字符。

用作终止的空字符

读者也许会纳闷:“为什么需要空字符?”我们已经知道,字符串不是C语言的数据类型,但它使存储在数组中的一种数据结构。字符串是长度可变的数据结构,存储在长度固定的数组中。由于数组大小并不总是字符串的大小么大多数时候比保存在其中的字符串更大,因此,不能用数组的最后一个元素来表示字符串的结尾,而是需要某种方法来确定字符串数据的结尾,空字符就起到了“字符串结尾”标识符的作用。

凌阳教育,全国唯一一家原厂式嵌入式培训机构,专业从事嵌入式人才培训13年,最近新开课程信息安全工程师培训,想了解更多嵌入式资料下载或者是凌阳教育的动态,请访问凌阳教育官网www.sunplusedu.com

 


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 1

    获赞
  • 3

    评论
  • 3815

    访问数
关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-19 02:54 , Processed in 0.032933 second(s), 13 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部