如何初步学习C语言(3)
4.字符串+转义字符
4.1字符串
"abcd"
像这种由双引号引起来的一串字符称为字符串面值,简称字符串。
字符串的结束标志是一个转义字符 \0(隐藏)。在计算字符串长度时\0是结束标志,占空间,但不作为字符串内容。
观察下面代码,看输出结果有什么不同?为什么?(突出\n的重要性)
#include <stdio.h>
int main()
{
char arr1[] = "abcd";//[]里的内容是字符串的空间,不写时系统会自动生成合适的空间大小。
char arr2[] = {
'a','b','c','d' };
char arr3[] = {
'a','b','c','d','\0' };
printf("%s\n",arr1);//%s是字符串的打印字符
printf("%s\n",arr2);
//由于没有结束标志\0,在输出完abcd后仍然会输出数据,直到在电脑存储空间中找到\0。
//由于电脑存储空间abcd后的数据未知,所以字符串的输出结果和空间大小为随机值。
printf("%s\n",arr3);
return 0;
}
如图所示:
4.2转义字符
如果我们要打印一个目录:c:\code\test.c
我们一般会这样打印:
#include <stdio.h>
int main()
{
printf("c:\code\test.c\n");
return 0;
}
但实际结果却是这样的:
出现这种情况的原因是这一串目录数据中存在转义字符。
转义字符顾名思义就是转变意思。
下面是一些转义字符
所以要想输出:c:\code\test.c
应该这样:
#include <stdio.h>
int main()
{
printf("c:\\code\\test.c");
return 0;
}
5.注释
- 有不需要的代码可以直接删除,也可以注释掉。
- 有些代码比较难懂,可以加一下注释文字。
注释有两种风格:
- C语言风格的注释 /xxxxxx/
缺陷:不能嵌套注释 - C++风格的注释 //xxxxxxxx
可以注释一行也可以注释多行