C语言:字符串

字符串详解

在C语言中,字符串是一个字符数组,以null字符 (‘\0’) 结尾。C语言中的字符串是一个连续的字符序列,用于存储和操作文本数据。

字符串在C语言中通常是用字符数组来表示的,例如:

char str[] = "hello";

上述代码定义了一个字符数组 str,并初始化为字符串 “hello”。这个字符串在内存中的表示如下:

+---+---+---+---+---+---+
| h | e | l | l | o |\0 |
+---+---+---+---+---+---+

可以看到,字符串是一个字符序列,最后以null字符 (‘\0’) 结尾,表示字符串的结束。

C语言提供了许多字符串处理函数,例如:

  • strlen(str): 返回字符串的长度。
  • strcpy(dest, src): 复制一个字符串到另一个字符串。
  • strcmp(str1, str2): 比较两个字符串是否相等。
  • strcat(dest, src): 将一个字符串连接到另一个字符串的末尾。
  • strchr(str, ch): 在一个字符串中查找指定字符的第一次出现。

这些函数可用于处理和操作字符串。此外,C语言还提供了一些字符串操作符,例如字符串连接运算符(+)、字符串索引运算符([])等,用于进行字符串操作。

需要注意的是,在C语言中,字符串是不可变的,即不能更改字符串中的字符。如果需要修改字符串,可以通过修改字符数组的方式来实现。

转义字符

假如我们要在屏幕上打印一个目录: c:\code\test.c
我们该如何写代码?

是这样吗?---->

#include <stdio.h>
int main()
{
 printf("c:\code\test.c\n");
    return 0;
}

程序运行的结果是这样的:

在这里插入图片描述

为什么会这样呢?
因为C语言中存在转义字符

转义字符释义
?在书写连续多个问号时使用,防止他们被解析成三字母词
|用于表示字符常量 ’
\“用于表示一个字符串内部的双引号
\用于表示一个反斜杠,防止它被解释为一个转义序列符。
\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制的数字。 如: \130 X
\xdddd表示2个十六进制数字。 如: \x30 0

在屏幕上打印一个单引号’,怎么做?
在屏幕上打印一个字符串,字符串的内容是一个双引号“,怎么做?

#include <stdio.h>
int main()
{
    printf("%c\n", '\'');//输出单引号’
    printf("%s\n", "\"");//输出双引号“
    return 0;
}

注释

在C语言中,我们可以使用两种方式添加注释:

  1. 单行注释:使用双斜杠(//)在一行中添加注释。例如:
// 这是一个单行注释
  1. 多行注释:使用斜杠和星号(/* … */)将多行文本包围起来作为注释。例如:
/*
这是一个
多行注释
*/

注释在编写程序时是非常有用的,它们可以用来解释代码的功能、提供细节说明或者暂时禁用一段代码。注释不会被编译器解释和执行,而只是用来提供给程序员的额外信息。

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一岁就可帅-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值