網站首頁 編程語言 正文
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查看)
原文鏈接:https://blog.csdn.net/shanshangyouzhiyangM/article/details/52931920
相關推薦
- 2022-06-06 typescript類型別名、限制值的大小
- 2022-03-01 ivew 表格中列中使用tooltip文字提示,并且文字過長顯示...
- 2022-05-01 Python字符串和其常用函數合集_python
- 2022-11-26 Ubuntu?環境下安裝?Docker環境詳解_docker
- 2022-12-03 React使用ref方法與場景介紹_React
- 2022-11-14 Python?prettytable模塊應用詳解_python
- 2022-12-12 Android?Cocos?Creator游戲開發平臺打包優化實現方案_Android
- 2022-06-10 ASP.NET?Core使用EF保存數據、級聯刪除和事務使用_實用技巧
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支