最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在C語言里單引號和雙引號的區(qū)別

 更新時間:2021年07月02日 08:59:20   作者:叫我謝布斯  
這篇文章主要介紹了在C語言里單引號和雙引號的區(qū)別,本文通過代碼的實例和注釋的詳細的說明了單引號和雙引號的概念與區(qū)別,以下就是詳細內(nèi)容,需要的朋友可以參考下

—— C語言中的單引號用來表示字符字面量,編譯為對應(yīng)的ASCII碼
—— C語言中的雙引號用來表示字符串字面量,編譯為對應(yīng)的內(nèi)存地址

‘a(chǎn)'表示字符字面量,在內(nèi)存中占一個字節(jié),‘a(chǎn)'+1表示‘a(chǎn)'的ASCII碼加1,結(jié)果為‘b'。
“a”表示字符串字面量,在內(nèi)存中占兩個字節(jié),“a”+1表示指針運算,結(jié)果指向“a”結(jié)束符‘\0'

分析:下面這段程序合法嗎?

char* p1 = 1;          // p1指向地址0x00000001
char* p2 = '1';        // p2指向地址0x00000031
char* p3 = "1";        // p3指向地址0x080484d0

這三條語句是合法的,會出現(xiàn)警告,但是本質(zhì)上并沒有影響程序的運行

如果程序改成這樣:

#include <stdio.h>
int main()
{
	char* p1 = 1;
	char* p2 = '1';
	char* p3 = "1";

	printf("%s,%s,%s\n", p1, p2, p3);   //出現(xiàn)段錯誤
	
	printf('\n');                       //出現(xiàn)段錯誤
	printf("\n");
	return 0;
}

小貼士:

1、字符字面量被編譯為對應(yīng)的ASCII碼
2、字符串字面量被編譯為對應(yīng)的內(nèi)存地址
3、內(nèi)存的低地址空間不能在程序中隨意訪問

在這里插入圖片描述

右上圖可知,所有低于0x08048000的地址空間都不能訪問,所以p1和p2都不能訪問內(nèi)存地址,會出現(xiàn)段錯誤·。

在這里插入圖片描述

程序?qū)嵗治觯?/p>

char c = “string”;

其實這個明顯是錯誤的,因為字符串會編譯為對應(yīng)的內(nèi)存地址,內(nèi)存地址占4個字節(jié),但是c只占一個字節(jié),會產(chǎn)生截斷,所以一般對于字符串,我們用指針來指向

char* p= “string”;

到此這篇關(guān)于在C語言里單引號和雙引號的區(qū)別的文章就介紹到這了,更多相關(guān)C語言里單引號和雙引號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實現(xiàn)一個簡單的線程池的示例代碼

    C++實現(xiàn)一個簡單的線程池的示例代碼

    本文主要介紹了C++實現(xiàn)一個簡單的線程池的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 使用c++編程實現(xiàn)簡單的打字小游戲

    使用c++編程實現(xiàn)簡單的打字小游戲

    這篇文章主要為大家介紹了使用c++編程語言來實現(xiàn)一個非常簡單的打字小游戲過程實現(xiàn)的示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10
  • C語言中volatile關(guān)鍵字的作用及說明

    C語言中volatile關(guān)鍵字的作用及說明

    文中主要介紹了C語言中volatile關(guān)鍵字的含義和使用場景,volatile是一個類型修飾符,主要用來修飾被不同線程訪問和修改的變量,它的作用是防止編譯器對代碼進行優(yōu)化,確保每次直接讀取原始內(nèi)存地址的值
    2024-10-10
  • 一起來了解一下C++中的指針

    一起來了解一下C++中的指針

    這篇文章主要為大家詳細介紹了C++的指針,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • C語言和go語言之間的交互操作方法

    C語言和go語言之間的交互操作方法

    下面小編就為大家?guī)硪黄狢語言和go語言之間的交互操作方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • C++下標(biāo)運算符[]重載代碼示例

    C++下標(biāo)運算符[]重載代碼示例

    這篇文章主要給大家介紹了關(guān)于C++下標(biāo)運算符[]重載的相關(guān)資料,C++ 規(guī)定下標(biāo)運算符[]必須以成員函數(shù)的形式進行重載,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • C++ 如何實現(xiàn)順序棧(使用模板類)

    C++ 如何實現(xiàn)順序棧(使用模板類)

    這篇文章主要介紹了C++ 如何實現(xiàn)順序棧(使用模板類),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • c++primer類詳解

    c++primer類詳解

    今天小編就為大家分享一篇關(guān)于C++Primer中變量和基本類型的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2021-09-09
  • C語言循環(huán)隊列與用隊列實現(xiàn)棧問題解析

    C語言循環(huán)隊列與用隊列實現(xiàn)棧問題解析

    循環(huán)隊列又叫環(huán)形隊列,是一種特殊的隊列。循環(huán)隊列解決了隊列出隊時需要將所有數(shù)據(jù)前移一位的問題,本篇帶你一起看看循環(huán)隊列的問題和怎樣用隊列實現(xiàn)棧
    2022-04-04
  • c語言snprintf函數(shù)的用法詳解

    c語言snprintf函數(shù)的用法詳解

    這篇文章主要給大家介紹了關(guān)于c語言snprintf函數(shù)用法的相關(guān)資料,snprintf()函數(shù)用于將格式化的數(shù)據(jù)寫入字符串,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-09-09

最新評論

清流县| 双城市| 竹北市| 辉南县| 紫云| 蓬莱市| 涟源市| 常宁市| 得荣县| 蓬莱市| 泸溪县| 奉节县| 舞钢市| 贵德县| 平顶山市| 图们市| 天水市| 民权县| 宜兰市| 久治县| 文山县| 山东| 大名县| 长乐市| 陆河县| 武山县| 县级市| 策勒县| 高州市| 琼海市| 乐安县| 潢川县| 巨鹿县| 邮箱| 涟水县| 山阴县| 太谷县| 汕头市| 齐河县| 尚义县| 怀远县|