C语言中反斜杠的作用及说明

 更新时间:2022年07月12日 15:04:30   作者:山上有只羊M  
这篇文章主要介绍了C语言中反斜杠的作用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

C语言中反斜杠的作用

反斜杠起到换行作用,用于宏定义和字符串换行。其中宏定义中使用居多。

如果一行代码有很多元素,导致太长影响阅读,可以通过在结尾加\的方式,实现换行,编译时会忽略\及其后的换行符,当做一行处理。

1.在宏定义中

要换行必须使用 \ 结尾。

#define CHECK_ACTION_RETURN(expr) \
? ? if (!expr) { \
? ? ? ? printf(":failed(%d)\n", ret); \
? ? ? ? return ret; \
? ? ? ? ? ? ? ? } else { \
? ? ? ? printf(":ok\n"); \
? ? ? ? ? ? ? ? }

2.在字符串常量中

可以使用 \ 结尾。

"this \
is \
for \
testing"

和”this is for testing”是相同的,但是对于字符串写成

"this "
"is "
"for "
"testing"

效果是相同的,而且更美观。

3.另外在普通的语句中

也可以通过 \ 实现换行,不过这时没有 \ 也是一样的效果。

比如

printf("this is for test %d %d %d\n",\
test_output_a,\
test_output_b,\
test_output_c);

printf("this is for test %d %d %d\n",
test_output_a,
test_output_b,
test_output_c);

是没有区别的,所以这时一般不会使用\。

斜杠,双斜杠,反斜杠与双反斜杠

1. 斜杠

"/"是URL地址中用到的分隔符,斜杠/在Linux等其他操作系统中使用

web应用最早部署在Unix系统,所以目前使用的网络地址也是斜杠作为分隔符,可自行通过浏览器地址栏观察。

并且在linux系统中的文件路径也是用“/”分隔:比如在URL https://mp.csdn.net/mp_blog/creation/editor中,斜杠"/"起着分隔主机名、路径、以及文件名的作用,比如linux常见的路径名: /etc/ssh/sshd_config

2. 双斜杠

“//”用在网络域名访问中,是协议和主机名或IP地址之间的分隔符,以双斜杠//开头的URL是依赖协议的URL表示形式,URL格式:协议://域名或ip/请求文件路径/文件名。https://mp.csdn.net/mp_blog/creation/editor ,协议为 https,主机名为 blog.csdn.net。

C程序中文件路径使用双斜杠//

C语言中存在转义字符。C:\Program Files是Windows下的路径,在C文件操作中就要改为使用双斜杠为C:\Program Files

3. 反斜杠

“\”是Windows系统文件目录结构使用的分隔符,可常用做转义字符,此外在一些编程语言中,反斜线可作为一个强制换行符。反斜杠\只有Windows系统中使用,Windows中斜杠/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。

在windows下我们常用的路径名 D:\wenjian\cs\blog,就是用反斜杠来分隔目录文件的。\n \t等转义字符。

反斜杠在C里面(以及大部分编程语言)属于转义符,也就是其后的字符将有不同意义,比如\n表示回车,再比如在perl里面$x表示一个变量,而$x就不是变量了。至于\就是将后面的\转义了,此时后面的\就不是转义符了,

而是\字符本身,例如:printf(“\n”);打印出来的就是\n,而不是一个回车。

你只要记住\会将后面的字符转义即可,,比如printf(“\”);结果是编译错误,因为前面的两个\是\字符本身,第三个\会去转义后面的",这样就会缺少一个引号,造成编译错误。

\转义引号的地方很多,主要是要在字符串里包含引号,比如:printf(“hello “world”\n”);

4.双反斜杠

“\\”在windows里表示绝对地址的第一项,后面跟IP地址或计算机名,就是需要打开这个IP地址或计算机名对应主机的网络共享资源。

经常使用的一个场景是在局域网内设置共享文件夹,局域网内的其他电脑要访问该共享文件夹时可以在地址栏输入 \\共享文件夹电脑的局域网ip,比如 \\192.168.1.100(设置了共享文件夹的电脑的ip,可以在cmd中输入ifconfig查看)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持程序员之家。

相关文章

  • C++虚函数表的原理与使用解析

    C++虚函数表的原理与使用解析

    对C++?了解的人都应该知道虚函数(Virtual?Function)是通过一张虚函数表(Virtual?Table)来实现的。简称为V-Table。本文就将详细讲讲虚函数表的原理与使用,需要的可以参考一下
    2022-04-04
  • C++输出斐波那契数列的两种实现方法

    C++输出斐波那契数列的两种实现方法

    以下是对C++中输出斐波那契数列的两种实现方法进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-10-10
  • C语言实现简单扫雷源码

    C语言实现简单扫雷源码

    这篇文章主要为大家详细介绍了C语言实现简单扫雷源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • C++设计模式之简单工厂模式实例

    C++设计模式之简单工厂模式实例

    这篇文章主要介绍了C++设计模式之简单工厂模式实例,工厂模式有一种非常形象的描述,建立对象的类就如一个工厂,而需要被建立的对象就是一个个产品,需要的朋友可以参考下
    2014-09-09
  • C++循环队列实现模型

    C++循环队列实现模型

    这篇文章主要介绍了C++循环队列实现模型,较为详细的分析了循环队列算法的原理与实现方法,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • C语言?栈与数组的实现详解

    C语言?栈与数组的实现详解

    栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素
    2022-04-04
  • C语言中sizeof()与strlen()函数的使用入门及对比

    C语言中sizeof()与strlen()函数的使用入门及对比

    这篇文章主要介绍了C语言中sizeof()与strlen()函数的使用入门及对比,同时二者在C++中的使用情况也基本上同理,是需要的朋友可以参考下
    2015-12-12
  • C/C++杂记 虚函数的实现的基本原理(图文)

    C/C++杂记 虚函数的实现的基本原理(图文)

    这篇文章主要介绍了C/C++杂记 虚函数的实现的基本原理(图文),需要的朋友可以参考下
    2016-06-06
  • C++名称空间特性

    C++名称空间特性

    这篇文章主要介绍了C++名称空间特性,文章围绕C++名称空间特性的相关资料展开详细内容,需要的小伙伴可以参考一下下文具体内容,希望对你的学习有所帮助
    2022-01-01
  • C++基于EasyX图形库实现2048小游戏

    C++基于EasyX图形库实现2048小游戏

    这篇文章主要为大家详细介绍了C++基于EasyX图形库实现2048小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02

最新评论

?


http://www.vxiaotou.com