【C语言学习笔记(二)】字符串

一、什么是字符串
字符串是一个或多个字符的序列,如“I love China!”。其中双引号不是字符串的一部分。双引号只是告知编译器它括起来的是字符串。
二、char类型数组
C语言没有专门用于存储字符串的变量类型,字符串都被存放在char类型的数组中。数组由连续的存储单元组成,字符串的字符被存储在相邻的存储单元中,每个单元存储一个字符,每个存储单元1字节。char类型数组的末尾以字符\0结束。\0是空字符,C语言用它标记字符串的结束。空字符不是数字0,它是非打印字符,其ASCII码值是0。C中字符串一定以空字符结束,这意味着数组的容量至少比存储字符串中的字符数多1。例,40个存储单元的字符串只能存储39个字符,剩下一个字节留给空字符。
三、字符串与字符
字符串常量"x"和字符常量’x’不同。
区别一:'x’是基本类型(char),"x"是派生类型(char数组);
区别二:"x"实际上由两个字符组成即’x’和空字符\0,'x’只是单纯的一个字符。
四、打印字符串
在printf()函数中,使用%s来打印字符串,实现字符串的输出。对于字符串的输入采用scanf()函数。需要注意,根据%s转换说明,scanf()只会读取字符串中的一个单词,而不是一整句话。
五、strlen()函数和sizeof
strlen()函数给出字符串中的字符长度,sizeof运算符以字节为单位给出对象的大小。strlen()计算得出的是字符串中的字符数(包括空格和标点符号),sizeof运算符不仅给出字符串中的字符数还把字符串末尾的空字符也计算在内。
注:sizeof运算符使用时可以加括号也可以不加括号,何时使用圆括号取决于运算对象是类型还是特定量。运算对象是类型时,圆括号必不可少;对于特定量,圆括号可有可无。即对于类型,应写成sizeof(char)或sizeof(float),对于特定量,可写成sizeof name或sizeof 6.28。尽管如此,还是建议所有情况下都使用圆括号。

你可能感兴趣的:(C语言,c语言,开发语言)