前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >[C语言] 初始字符串 & 转义字符与注释

[C语言] 初始字符串 & 转义字符与注释

作者头像
謓泽
发布于 2022-12-12 06:21:04
发布于 2022-12-12 06:21:04
1.3K00
代码可运行
举报
文章被收录于专栏:【C】系列【C】系列
运行总次数:0
代码可运行

💖 作者简介:大家好,我是泽奀。🏆全栈领域新星创作者  作者周榜:81  总排名:6434 👑  📝 个人主页:weixin_52632755的博客_泽奀_CSDN博客 🎉 点赞➕评论➕收藏 == 养成习惯😊 📣 系列专栏:【C】系列_泽奀的博客-CSDN博客 💬 总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🖊

目录

字符串简介

证明字符串当中有\0

两种形式区别

strlen库函数 

 转义字符

常用的转义字符含义 

注释


字符串简介

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"hello Cyuyan\n"

  • 这种由字符由双引号,引起来的一串字符被称之为字符串字面值,简称为:字符串 😀
  • 双引号不是字符串的一部分。双引号仅告知编译器它括起来的是字符串
  • 注:字符串的结束标志是一个反斜杠(\0)的转义字符。在计算机字符串长度的时候反斜杠(\0)是不算做字符串的内容当中的。
  • 说的简单一点的话:字符串就是一串字符,双引号括起来的一串字符。
  • 双引号不是字符串的一部分。双引号仅告知编译器它括起来的是字符 串,正如单引号用于标识单个字符一样。

证明字符串当中有\0

  • 字符串是一串字符也就是多个字符,多个字符要存起来的话就需要用到一个概念是:字符数组 — 数组是一组相同类型的元素
  • 那么我们就来证明下在字符串数组当中的字符串是不是会存在反斜杠(\0)
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
char arr[] = "hello C";

从这里可以看出总共有⑦个元素,这里本来只有⑥个字符的。其实这里在字符当中隐藏当中存放了一个反斜杠\0,在上面图中可以看到最后有'\0'.总的来说就是:字符串在结尾的时候隐藏了一个'\0'. 反斜杠(\0)是字符串当中的结束标志!


两种形式区别

用代码给大家看看:如下实例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<stdio.h>
int main(void)
{
	char arr1[] = "helloC";
	char arr2[] = { 'h', 'e', 'l', 'l', 'o', 'c' };

	printf("arr1 = %s\n", arr1);
	printf("arr2 = %s\n", arr2);

    return 0;
}

  • 首先:用调试当中监视窗口给大家看看区别!

不知道大家发现没有当我们是arr1数组的时候在最后当中是有反斜杠(\0),但是当我们在arr2数组的时候它是没有反斜杠(\0)的。

  • 其次:再运行结果给大家看看区别!

从这里我们打印的结果当中可以看出来是不一样的,第一种我们打印的时候只打印helloC,第二种的时候在打印的时候后面出现了乱码!那么为什么在第二种的时候会出现这个。在第一个arr1数组当中存放的内存当中存放了helloC\0,这就是我们arr1数组当中存放的内容。对于arr2数组里面的内容也是存放的内存块里面存放的是helloc,大家注意下我那个粗体字的区别。当我打印的时候arr1数组是因为后面有一个反斜杠(\0)让字符串停下来了,而arr2数组当中没有反斜杠(\0)后面放的是什么我们是完全不知道的。所以,后面空间的内容是未知的。对于未知的内容,那我们打印的内容自然是不知道的从而打印出来了乱码。而arr1数组当中有反斜杠(\0)的时候那么就知道要停下来了。

  • 那么当我们主动给这个arr2数组字符串+上反斜杠(\0)的时候大家来看看结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 #include<stdio.h>
int main(void)
{
	char arr1[] = "helloC";
	char arr2[] = { 'h', 'e', 'l', 'l', 'o', 'c','\0'};
 
	printf("arr1 = %s\n", arr1);
	printf("arr2 = %s\n", arr2);
    return 0;
}

  • 运行结果: 

这个情况又再次充分的证明了字符串的结束标志是反斜杠(\0),对于字符串来说它的结束标志是非常重要的,好好利用这一点可以让你的程序效果更上一层楼。


strlen库函数 

strlen的作用是:计算字符串 str(要计算长度的字符串 的长度! #include<string.h> 提供strlen()函数的原型。 string.h头文件包含多个与字符串相关的函数原型! 声明:size_t strlen(const char *str)

实际演示strlen()函数的用法 :

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <stdio.h>
#include <string.h>

int main(void)
{
    char str[50];

    strcpy(str, "I always like C language");

    int len = strlen(str);
    printf("|%s| 的长度是:|%d|\n", str, len);

    return(0);
}
  • 当上面的代码被编译和执行时,它会产生下列结果:

  • 在这里有strcpy的函数作用: 复制字符串📗
  • 声明:char *strcpy(char *dest, const char *src)
  • dest – 指向用于存储复制内容的目标数组
  • src – 要复制的字符串
  • 注意:当我们用字符串函数求长度的时候反斜杠(\0)是不算长度的。

当然C语言还有大量的字符串函数,这个等以后会跟大家说的,现在我们知识初始即可! 


 转义字符

转义字符:其实就是转义了它原本的含义。转义字符是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称"转义"字符。

  • 我举个例子给大家看看:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<stdio.h>
int main(void)
{
	printf("C:\test\test.c");
	return 0;
}

上述代码就是我要举出的例子,接下来运行结果如下:

  •  本来我的'\t'是在printf()打印当中的,但是这个'\t'变成了其它的意思,当然转义字符不止一种意思,它包含了很多种不同的转义,接下来我再举一个例子给大家看看!
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<stdio.h>
int main(void)
{
	printf("C:\nest\nest.c");
	return 0;
}

 上述代码还是上面的代码,但是我把'\t'改成了'\n',运行结果如下:

  • 是不是如我所说:转义字符不一样它们起到的作用也是不同的!

常用的转义字符含义 

注释

注释通常是用来解释复杂代码的,怎么说就是这个代码对于你来说是比较复杂的,你想了挺久的。如果我不去写注释的话,站在别人的角度上说或者会难以理解或者你过一段时间你再回来看自己原来打的代码,我又想不起来了当时是怎么来去写这段代码的。这个时候就应该写注释。

C语言有两种注释风格

  1. //  - 一般用于单行注释。(这个一开始是C++的注释风格只不过后面又引用到了C语言上了)
  2. /* ... */  - 一般用于多行注释。
  • 这两种方法可能会有小伙伴们说哪一种注释的风格更好,在这里我认为第一种的更好。因为多行注释C的注释风格是有点缺陷的。C语言的注释风格是并不支持嵌套注释的,注释当中在去拥有了多行注释就是不行的。

注释的好处是:

  1. 提高了代码的阅读性,调试程序的重要方法。
  2. 注释是一个程序员必须要具有的良好编程习惯。
  3. 将自己的思想通过注释先整理出来,再用代码去体现。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
初识C语言——字符串+转义字符+注释
什么是字符串呢? “hello world!”——这就是一个字符串。 这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。 那现在有一个问题,这个字符串里有几个字符呢? 是只有’h’, ‘e’, ‘l’, ‘l’, ‘o’,’ ’ ', ‘w’ , ‘o’, ‘r’, ‘d’, ‘!’. 这12字符吗? 不是的!!! 为什么呢?因为在C语言中,字符串的末尾都有一个 '\0’这样的转义字符作为它的结束标志。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。 来看一段代码:
YIN_尹
2024/01/23
2040
初识C语言——字符串+转义字符+注释
【C语言】第三回 关于字符串,语句和注释的使用
使⽤双引号括起来的⼀串字符就被称为字符串,如:“abcdef”,就是⼀个字符串。 字符串的打印格式可以使⽤ %s 来指定,也可以直接打印如下:
学习起来吧
2024/02/29
1720
【C语言】第三回 关于字符串,语句和注释的使用
【C语言指南】转义字符使用详解
所有的 ASCII码都可以用“\加数字” 来表示。而C 中定义了一些字母前加“\"来表示常见的那些不能显示的 ASCI 字符,如\t, \n 等,就称为转义字符,因为后面的字符,都不是它本来的 ASCII 字符意思了。(转义字符,顾名思义就是转变原来的意思)
倔强的石头
2024/12/06
7040
【C语言指南】转义字符使用详解
通过这14点,让你快速入门C语言(2)
"hello world\n"这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。
waves浪游
2024/01/23
1300
通过这14点,让你快速入门C语言(2)
c语言常见概念----
main函数式程序的入口,main有且仅有一个,即是一个项目中有多个.c文件,但只能有一个main函数(因为程序的入口只有一个)
凯子坚持C
2024/09/23
980
c语言常见概念----
【C语言】常见的C语言概念
那人和计算机是怎么交流的呢? 使用计算机语言。 目前已知已经有上千种计算机语言,人们们是通过计算机语言写的程序,给计算机下达指令,让计算机工作的。 C语言就是众多计算机语言中的⼀种,当然C++/Java/Go/Python都是计算机语言。
zxctscl
2024/09/20
2340
【C语言】常见的C语言概念
c语言从入门到实战——在系统学习C语言之前所需要了解的知识
本文基于VS2022,将介绍一系列的C语言常见概念,让读者对C语言有一个初步的了解,并对后续的学习做下铺垫。
鲜于言悠
2024/03/20
1690
c语言从入门到实战——在系统学习C语言之前所需要了解的知识
计算机萌新的成长历程——初识C语言7
今天我将开始分享字符串、转义字符、注释这些内容的相关知识以及我自己在学习过程中对这些知识的一些见解。
蒙奇D索隆
2023/10/13
1670
计算机萌新的成长历程——初识C语言7
C语言常见概念
<font color = red>⼈和⼈交流使⽤的是⾃然语⾔,如:汉语、英语、⽇语</font>
用户11318784
2024/11/12
820
C语言常见概念
【C】 C语言入门
如果觉的博主的文章还不错的话,还请点赞,收藏,关注支持博主。如果发现有问题的地方欢迎❀大家在评论区指正。
阿伟@t
2023/10/10
4370
【C】 C语言入门
初识C语言(1)
接下来我们来写第一个C语言程序,printf 是库函数,功能是在屏幕上打印数据信息 - 输出, 库函数是标准库中提供的函数,这些函数是现成的,直接可以使用,但是使用库函数需要包含对应的头文件,输入/输出 函数需要的头文件 stdio.h。
用户10923087
2024/01/23
1500
初识C语言(1)
【C语言】初识C语言(常见的C语言概念)
C语言常年霸榜各类高级语言前三,属于基础必学的语言,其功能强大,而且许多语言都很相似,如果学好C语言,对学习其他语言也有很大帮助
TANGLONG
2024/10/15
4160
【C语言】初识C语言(常见的C语言概念)
C语言入门之变量、常量、字符串、转义字符
         在这一段代码中我们可以看到,创建的全局变量与局部变量同名,那么打印出来global的值是2019还是2020呢?运行结果如下:
用户10923276
2024/03/28
2860
C语言入门之变量、常量、字符串、转义字符
C语言:基础知识
通常,我们使用英语、中文等语言来进行两个人之间的交流。这意味着当我们想要和他人进行交流时,我们需要一种语言来表达自己的感受。同样的,当我们想要和计算机进行交流时,我们也需要一种语言,可以通过该语言向计算机提供信息,传达指令,我们称该语言为计算机语言。
小陈在拼命
2024/02/17
2140
C语言:基础知识
抽丝剥茧C语言(初阶 中)
大家要清楚一件事,C语言有C语言的语法,就像汉语和英语都有自己的规则一样,美国人学中文也觉得别扭,国人学英语也别扭,经常中式英语,所以你学什么语言就要遵守什么语言的语法规则,有些地方不要过度深究,不然你的思绪就会越来越乱!
有礼貌的灰绅士
2023/03/28
6950
抽丝剥茧C语言(初阶 中)
【C字符串函数】——对C语言中有关字符串库函数的实现及模拟
我们已经了解了C语言中很多数据类型,比如int(整数类型)、char(字符类型)、以及浮点型的double(双精度)、float(单精度),但是有一点就是我们发现这里并没有提到我们常见的有关字符串的类型。其实在C语言中,字符串通常是放在 常量字符串 中或者 字符数组 中的。(常量字符串是不可被修改的)
诺诺的包包
2023/02/17
1.1K0
【C字符串函数】——对C语言中有关字符串库函数的实现及模拟
【C语言】字符串函数「超详细」
🚩write in front🚩 🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~阿里云专家^ 星级博主~掘金⇿InfoQ创作者~周榜54»总榜2999🏅 🆔本文由 謓泽 原创 CSDN首发 🙉 如需转载还请通知⚠ 📝个人主页-謓泽的博客_CSDN博客💬 🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝​ 📣系列专栏-【C】系列_謓泽的博客-CSDN博客🎓 📢本文 de 创作时间  ⇨
謓泽
2022/12/12
1.4K0
【C语言】字符串函数「超详细」
C语言学习
数据类型向内存申请空间图片图片#include <stdio.h>int main(){ char ch = 'A';//'ch'为变量 printf("%c",ch);//%c——打印字符格式的数据 return 0; }#include <stdio.h>int main(){ int age = 17;//'age'为变量 printf("%d",ch);//%d——打印整型十进制的数据 return 0; }变量局部变量全局变量定义:使用“=”为其赋值
暮云
2022/10/08
1.6K1
C语言学习
【C语言】C语言入门知识
(1)全局变量------在{}外部定义的变量 (2)局部变量------在{}内部定义的变量
YoungMLet
2024/03/01
3830
【C语言】C语言入门知识
[C语言]数组和字符串
在程序设计中,为了方便处理数据把具有相同类型的若干变量按有序形式组织起来——称为数组。数组就是内存中连续的相同类型的变量空间,同一个数组所有的成员都是相同的数据类型,同时所有的成员在内存中的地址是连续的。
IT编程爱好者
2023/04/12
1.4K0
[C语言]数组和字符串
相关推荐
初识C语言——字符串+转义字符+注释
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文