字符串
字符串由双引号引起来的一串字符。字符串最重要的特点是结束标志是一个 \0 的转义字符
在计算字符串长度的时候 \0 是结束标志,不算字符串内容。
在字符串中 \0 十分重要 (字符串可以放在字符数组中)。
打印字符串
//字符串
int main()
{
char arr[] = "abc";
char arr1[] = { 'a', 'b', 'c' };
char arr2[] = { 'a', 'b', 'c', '\0' };
printf("%s\n", arr);// %s 打印字符串
printf("%s\n", arr1);
printf("%s\n", arr2);
//printf("%d\n", strlen(arr));
//printf("%d\n", strlen(arr1));
//printf("%d\n", strlen(arr2));
return 0;
}
我们打印这三个数组 结果是什么样的
看得见第二个数组没有 \0 编译器找不到结束标志就胡乱打印。
计算字符串长度
我们也可以计算字符串长度来看看 \0 的重要 ,strlen 可以计算字符串长度,需要头文件#include<string.h>
//字符串
int main()
{
char arr[] = "abc";
char arr1[] = { 'a', 'b', 'c' };
char arr2[] = { 'a', 'b', 'c', '\0' };
/*printf("%s\n", arr);
printf("%s\n", arr1);
printf("%s\n", arr2);*/
printf("%d\n", strlen(arr));
printf("%d\n", strlen(arr1));
printf("%d\n", strlen(arr2));
return 0;
}
第二个strlen 找不到结束标志 \0 就不是3
转义字符
打印目录
我们c语言打印一个目录是怎么打印的
这样显然是不行的
这样才行,这就是我们的转义字符。
重要的转义字符
\ddd ddd表示1~3个八进制的数字。如:\130 打印的是 X(字符的8进值形式)
\xdd dd表示2个十六进值的数字。 如:\x30 打印是 0 (字符的16进值形式)
他们打印的都是ASCLL表中的对应字符。
打印单引号,双引号
int main()
{
char a = 'w';
char b = '\'';
char arr[] = "abc";
char arr1[] = "\"";
printf("%c", b);
printf("%s", arr1);
}
单引号打印属于字符,双引号属于字符串。
我们还可以看道经典题目:
printf("%d\n", strlen("c:\test\628\test.c"));
最后是多少
C语言的注释
注释有两种风格:
C语言风格的注释
/*xxxxxx*/
缺陷:不能嵌套注释
C++风格的注释
//xxxxxxxx
可以注释一行也可以注释多行