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

 更新时间:2022年07月12日 15:04:30   作者:山上有只羊M  
这篇文章主要介绍了C语言中反斜杠的作用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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语言实现井字棋游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • 探究c++虚表实现代码

    探究c++虚表实现代码

    虚表是一种利用程序语言实现的dynamic dispatch机制,或者说runtime method binding机制,也就是我们说的多态。本文简单探究虚表实现方法,一起看看吧
    2021-09-09
  • C语言中大小端问题实例探索解决方法

    C语言中大小端问题实例探索解决方法

    这篇文章主要介绍了C语言中大小端问题实例,总的来说这并不是一道难题,那为什么要拿出这道题介绍?拿出这道题真正想要传达的是解题的思路,以及不断优化探寻最优解的过程。希望通过这道题能给你带来一种解题优化的思路
    2023-02-02
  • c++字符串分割的方法

    c++字符串分割的方法

    这篇文章主要介绍了c++字符串分割的方法,帮助大家更好的理解和学习c++,感兴趣的朋友可以了解下
    2020-08-08
  • qt首次连接MYSQL驱动的各种问题图文详解

    qt首次连接MYSQL驱动的各种问题图文详解

    通常来说,我们对数据库的操作更多地在于对数据库表的操作,下面这篇文章主要给大家介绍了关于qt首次连接MYSQL驱动的各种问题,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • C语言 详细讲解数组参数与指针参数

    C语言 详细讲解数组参数与指针参数

    这篇文章主要介绍了C语言中数组参数与指针参数的分析,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • Matlab绘制酷炫坐标区域的方法详解

    Matlab绘制酷炫坐标区域的方法详解

    这篇文章主要为大家详细介绍了如何利用Matlab编写一个能让坐标区域变得很炫酷的修饰函数,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-05-05
  • C++实现贪心算法的示例详解

    C++实现贪心算法的示例详解

    这篇文章主要通过几个试题为大家详细介绍了C++中贪心算法的实现,文中的示例代码讲解详细,对我们学习贪心算法有一定的帮助,需要的可以参考一下
    2022-07-07
  • C++结构体struct和类class区别详解

    C++结构体struct和类class区别详解

    struct和class有什么区别?最本质的一个区别就是默认的访问控制:默认的继承访问权限,struct是public的,class是private的。
    2017-11-11
  • C++内存模型与名称空间概念讲解

    C++内存模型与名称空间概念讲解

    这篇文章主要介绍了C++内存模型与名称空间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01

最新评论