C语言中的字符串、转义字符、注释

时间:2022-10-18 22:54:00

一.字符串

"hello world!\n"
现这种由双引号引起来的一串字符称为字符串面值,简称字符串。
这里需要注意:字符串的结束标志是一个\0的转义字符。在计算字符串长度时\0是结束标志,不算字符串内容。
举例说明一下:

#include <stdio.h>
#include <stdlib.h>

int main()
{
char a[]="abc";
char a2[]={'a','b','c'};
printf("a[]=%s\n",a);
printf("a2[]=%s\n",a2);
}

C语言中字符串是用数组来存储,上面代码中a和a2看似应该输出一样的内容,将他运行一下试试

C语言中的字符串、转义字符、注释

a的结果跟我们预测的一样,但是a2就很奇怪, 这是因为字符串的结束标志是一个\0的转义字符,在数组a中在abc后面其实还有一个\0,我们可以在a2中加上'\0'试试

C语言中的字符串、转义字符、注释

 这样输出的结果就跟我们所预想的一样,再解释一下什么叫做在计算字符串长度时\0是结束标志,这里我们知道计算字符串长度要用到strlen库函数,那么就还需要加上#include<string.h>

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
char a[]="abc";
char a2[]={'a','b','c','\0'};
printf("a[]=%s\n",a);
printf("a2[]=%s\n",a2);
printf("%d\n",strlen(a));
printf("%d\n",strlen(a2));
}

​输出结果是

C语言中的字符串、转义字符、注释

​ 我们能看到a2中虽然我们写了四个字符,但是在用strlen输出时会发现在计算字符串长度时\0是结束标志

二.转义字符

转义就是说转变了原有的意义。

比如说我们打印一下这样一个目录:c:\test\32\test.c

C语言中的字符串、转义字符、注释

我们发现直接用printf输出的内容跟我们所想的完全不一样,这是因为转义字符的存在,大家都知道\n是换行的意思,我们看输出的内容在c:后面是一大段空格,然后就是est,那么我们就可以猜测\t是不是也是有其他意思?

C语言中的字符串、转义字符、注释

C语言中的字符串、转义字符、注释

根据转义字符表我们发现\t就是水平制表符,那么如果我们不想让其变成转义字符应该怎么办呢?重新回到上面问题“打印一下这样一个目录:c:\test\32\test.c”,我们只需要再加上一个\就可以了,比如:

C语言中的字符串、转义字符、注释

三.注释

1.代码中不需要的代码可以直接删除,也可以注释掉
2.代码中有些部分比较难懂,就可以加上注释文字

有两种注释方法:
1.在需要注释的代码前用“\\”
2.用“/*········*/” ,其中省略号是指想要注释的代码块

比如:

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
/*
printf("c:\\test\\32\\test.c\n");
int a;
*/

// printf("c:\\test\\32\\test.c\n");
// int a;
return 0;
}

 这两种方法都可以注释,用codeblocks写代码“\\”注释的话可以选中代码再用快捷键Ctrl+Shift+c进行注释,取消的话用Ctrl+Shift+x