網站首頁 編程語言 正文
續接符
反斜杠"",他有兩種最常見的功能,一就是續航功能,二就是我們提到反斜杠就會很敏感的轉義字符。
if("1==a&&2==b&&3==c) { printf("hello\n"); }
有以上的代碼我們可以等價于
if("1==a&&\ 2==b&&\ 3==c) { printf("hello\n"); }
這里反斜線就起到了一個連接上下兩行的代碼,在咱看來是獨立的三行但在編譯器眼里這仨貨就是在同一排。設想一下當我的條件足夠多時為了提高代碼可讀性,我們最好不擠在一排看著又臭又長,分占會顯得更加清新,所在大的工程文件里面我們經常會使用續航符號來操作我們代碼的美觀。
注意:續航符在使用時要注意空格,續航符之前的空格是不存在影響的,但如果放在后面就不能編譯。
旋轉光標
由我們系統方面的知識和C語言關鍵字基礎,我們就能搞出來一個我們常見的旋轉光標:
int main() { int a = 0; const char *spot = "|/-\\"; while(1) { printf("[%c]\n",spot[a]); a++; Sleep(300); } }
效果如下:
單雙引號潛規則
char a= 'abc'; printf("%c\n",a);
我們來看看這個代碼的結果:
一個問題,我們腦海里學習的知識告訴我們char類型是一個字符,但上面代碼不僅不報錯還能完完全全打印出來,我把內容換成 ‘abcd’ 依然能打印出一個 d ,再加一個 e 時就會開始報錯了,我們就針對這個打印 ‘abc’ 的現象來看看
我們直接對比一下他的字符長度:
擦嘞,為啥 ‘1’ 會是4個字節大小?其實在C99中,這里的 a 叫做整型字符常量,本質上是被編譯器看作int類型,所以其實就是在發生著一個截斷現象,我們對 char 類型的認知并沒有毛病,只是這里一直是在將4個字節的數據保存進一個 char 類型里面。
當然,這種認知也只是存在與C語言里,在C艸中仍然是被解釋成一個字節,這也能解釋為什么咱四個字節以內都能跑。
短路
很簡單,說的就是一個邏輯與 (&&),含義就是一個條件不通過就不需要再看后續的條件的情況就是短路。
ASCII碼剛需
為什么咱計算機要搞這么多花里胡哨的符號呢?內存里存的都是二進制數據,即0和1的一串序列,這時所謂的計算機語言,但作為一個person來講,咱最擅長的不是看0和1,是我們能直觀理解的語句。
我們的計算器程序,在計算結果后如果返回的不是十進制數而是一個二進制序列是對我們極為不友好的,特別是不熟悉二進制的普通用戶。所以程序會存在一個映射,這個映射機制就是給一個二進制序列安排一個人為設計的符號或圖形,比如我屏幕上一個“1234”,在我們眼中它是一個整型1234,但在計算機眼里它就是四個字符。
所以為什么我們手機啥的能更換語言系統,英文,簡體中文,繁體中文……,其本質原理就是改了一張映射表。
原文鏈接:https://blog.csdn.net/qq_61500888/article/details/122144106
相關推薦
- 2022-01-05 npm ERR! code ENOENT npm ERR! syscall open npm ERR
- 2022-05-09 如何將Python列表轉換為字符串_python
- 2022-10-29 前端圖片上傳發現圖片倒置解決方案 圖片鏡像效果實現
- 2022-11-09 go+redis實現消息隊列發布與訂閱的詳細過程_Golang
- 2022-07-30 分布式session的問題(使用SpringSession和redis解決)
- 2022-03-16 Linux下安裝軟件包報依賴等相關問題的解決方法_Linux
- 2022-07-10 css選擇器優先級問題
- 2023-01-06 使用find命令快速定位配置文件位置_linux shell
- 最近更新
-
- 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同步修改后的遠程分支