第4章 字符串
字符串(character string)是一个或多个字符的序列,如下所示:“Hello World !”
双引号不是字符串的一部分。双引号仅告知编译器它括起来的是字符串,正如单引号用于标识单个字符一样。
4.1 char类型数组和null字符
C语言没有专门用于储存字符串的变量类型,字符串都被储存在char类型的数组中。数组由连续的存储单元组成,字符串中的字符被储存在相邻的存储单元中,每个单元储存一个字符。
数组末尾位置的字符\0。这是空字符(null character),C语言用它标记字符串的结束。空字符不是数字0,它是非打印字符,其ASCII码值是(或等价于)0。C中的字符串一定以空字符结束,这意味着数组的容量必须至少比待存储字符串中的字符数多1。因此,对于40个存储单元的字符串,只能储存39个字符,剩下一个字节留给空字符。
**1. 声明char **
char ch;
char name[5];
4.2 strlen()函数与sizeof()运算符
strlen()函数源于库string.h,strlen()函数计算数组中实际字符串的长度,包括空格和标点符号但不算非字符\0;
sizeof()运算符计算数组的存储单元大小
#include <stdio.h>
#include <string.h>
int main()
{
char name[40];
scanf_s("%s",name,50);
printf("%d,%d\n",sizeof(name),strlen(name));
return 0;
}
4.3 C预处理器
4.4 printf()函数和scanf()函数
printf()函数和scanf()函数能让用户可以与程序交流,它们是输入/输出函数,或简称为I/O函数。它们不仅是C语言中的I/O函数,而且是最多才多艺的函数