C語言特殊符號的補(bǔ)充理解
續(xù)接符
反斜杠"",他有兩種最常見的功能,一就是續(xù)航功能,二就是我們提到反斜杠就會很敏感的轉(zhuǎn)義字符。
if("1==a&&2==b&&3==c)
{
printf("hello\n");
}
有以上的代碼我們可以等價于
if("1==a&&\
2==b&&\
3==c)
{
printf("hello\n");
}
這里反斜線就起到了一個連接上下兩行的代碼,在咱看來是獨立的三行但在編譯器眼里這仨貨就是在同一排。設(shè)想一下當(dāng)我的條件足夠多時為了提高代碼可讀性,我們最好不擠在一排看著又臭又長,分占會顯得更加清新,所在大的工程文件里面我們經(jīng)常會使用續(xù)航符號來操作我們代碼的美觀。
注意:續(xù)航符在使用時要注意空格,續(xù)航符之前的空格是不存在影響的,但如果放在后面就不能編譯。
旋轉(zhuǎn)光標(biāo)
由我們系統(tǒng)方面的知識和C語言關(guān)鍵字基礎(chǔ),我們就能搞出來一個我們常見的旋轉(zhuǎn)光標(biāo):
int main()
{
int a = 0;
const char *spot = "|/-\\";
while(1)
{
printf("[%c]\n",spot[a]);
a++;
Sleep(300);
}
}
效果如下:

單雙引號潛規(guī)則
char a= 'abc';
printf("%c\n",a);
我們來看看這個代碼的結(jié)果:

一個問題,我們腦海里學(xué)習(xí)的知識告訴我們char類型是一個字符,但上面代碼不僅不報錯還能完完全全打印出來,我把內(nèi)容換成 ‘abcd’ 依然能打印出一個 d ,再加一個 e 時就會開始報錯了,我們就針對這個打印 ‘abc’ 的現(xiàn)象來看看
我們直接對比一下他的字符長度:

擦嘞,為啥 ‘1’ 會是4個字節(jié)大???其實在C99中,這里的 a 叫做整型字符常量,本質(zhì)上是被編譯器看作int類型,所以其實就是在發(fā)生著一個截斷現(xiàn)象,我們對 char 類型的認(rèn)知并沒有毛病,只是這里一直是在將4個字節(jié)的數(shù)據(jù)保存進(jìn)一個 char 類型里面。
當(dāng)然,這種認(rèn)知也只是存在與C語言里,在C艸中仍然是被解釋成一個字節(jié),這也能解釋為什么咱四個字節(jié)以內(nèi)都能跑。
短路
很簡單,說的就是一個邏輯與 (&&),含義就是一個條件不通過就不需要再看后續(xù)的條件的情況就是短路。
ASCII碼剛需
為什么咱計算機(jī)要搞這么多花里胡哨的符號呢?內(nèi)存里存的都是二進(jìn)制數(shù)據(jù),即0和1的一串序列,這時所謂的計算機(jī)語言,但作為一個person來講,咱最擅長的不是看0和1,是我們能直觀理解的語句。
我們的計算器程序,在計算結(jié)果后如果返回的不是十進(jìn)制數(shù)而是一個二進(jìn)制序列是對我們極為不友好的,特別是不熟悉二進(jìn)制的普通用戶。所以程序會存在一個映射,這個映射機(jī)制就是給一個二進(jìn)制序列安排一個人為設(shè)計的符號或圖形,比如我屏幕上一個“1234”,在我們眼中它是一個整型1234,但在計算機(jī)眼里它就是四個字符。
所以為什么我們手機(jī)啥的能更換語言系統(tǒng),英文,簡體中文,繁體中文……,其本質(zhì)原理就是改了一張映射表。
以上就是C語言特殊符號的補(bǔ)充理解的詳細(xì)內(nèi)容,更多關(guān)于C語言特殊符號的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C語言中帶頭雙向循環(huán)鏈表基本操作的實現(xiàn)詳解
無頭單向非循環(huán)鏈表結(jié)構(gòu)簡單,一般不會單獨用來存數(shù)據(jù)。而帶頭雙向循環(huán)鏈表的結(jié)構(gòu)較為復(fù)雜,一般用在單獨存儲數(shù)據(jù)。本文將介紹帶頭雙向循環(huán)鏈表的基本操作,需要的可以參考一下2022-11-11
C++ vector擴(kuò)容解析noexcept應(yīng)用場景
這篇文章主要介紹了C++ vector擴(kuò)容解析noexcept應(yīng)用場景,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09
C++實現(xiàn)LeetCode(141.單鏈表中的環(huán))
這篇文章主要介紹了C++實現(xiàn)LeetCode(141.單鏈表中的環(huán)),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
帶你用C語言實現(xiàn)strtok和字符串分割函數(shù)
下面小編就為大家?guī)硪黄猚語言中字符串分割函數(shù)及實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2021-09-09
C/C++ 獲取Windows系統(tǒng)的位數(shù)32位或64位的實現(xiàn)代碼
這篇文章主要介紹了C/C++ 獲取Windows系統(tǒng)的位數(shù)32位或64位的實現(xiàn)代碼的相關(guān)資料,希望通過本文能幫助到大家,讓大家實現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10

