C語言筆記 第十四課 單引號和雙引號
第十四課 單引號和雙引號
C語言中的單引號用來表示字元字面量
C語言中的雙引號用來表示字串字面量
下面的程式片段合法嗎?三條語句都合法,1、2語句有警告
char* p1 = 1; //數字1
char* p2 = ‘1’; //字元1
char* p3 = “1”; //字串1
小貼士:
字元字面量被編譯為對應的ASCII碼
字串字面量被編譯為對應的記憶體地址
printf的第一個引數被當成字串記憶體地址
記憶體的低地址空間不能在程式中隨意訪問
14-1單引號和雙引號的本質
字串的地址都大於圖中0x08048000地址
14-2 混淆概念的程式碼
程式例項分析
char c =”string”; 發生了什麼?
分析:編譯後字串”string”的記憶體地址被賦值給變數C
記憶體地址佔用4個位元組,而變數C只佔用1個位元組
由於型別不同,賦值後產生截斷
小結:
單引號括起來的單個字元代表整數
雙引號括起來的字元代表字元指標
C編譯器接受字元和字串的比較,無任何意義
C編譯器允許字串對字元變數賦值,只能得到錯誤
相關推薦
C語言筆記 第十四課 單引號和雙引號
第十四課 單引號和雙引號 C語言中的單引號用來表示字元字面量 C語言中的雙引號用來表示字串字面量 下面的程式片段合法嗎?三條語句都合法,1、2語句有警告 char* p1 = 1; //數字1 char* p2 = ‘1’; //字元1 char* p3 = “1”; //
C語言筆記 第十八課 三目運算子和逗號表示式
第十八課 三目運算子和逗號表示式 三目運算子 三目運算子(a?b:c)可以作為邏輯運算的載體 規則:當a的值為真時,返回b的值;否則返回c的值 下面的程式執行結束後,a,b,c的值分別為多少? int a = 1; int b = 2; int c = 0; c = a<b
C語言筆記 第十七課 ++和-- 操作符分析
第十七課 ++和-- 操作符分析 ++,- -操作符的本質 ++和- -操作符對應兩條彙編指令 前置 變數自增(減)1 取變數值 後置 取變數值 變數自增(減)1 ++,- -操作符使用分析 int i = 0; (i++) + (i++) + (i++); 0+1+2=
C語言筆記 第十六課 位運算子分析
第十六課 位運算子分析 C語言中的位運算子 位運算子直接對bit位進行操作,其效率最高 位運算子 操作 & 按位與 I 按位或
C語言筆記 第十五課 邏輯運算子分析
第十五課 邏輯運算子分析 邏輯運算子&&,||和!真的很簡單嗎? 下面的程式執行結束後,i,j,k的值分別是多少? int i = 0; int i = 0; int i = 0; ++i || ++j && ++ 結果: i = 1 j = 0
C語言筆記 第十二課 註釋符號
第十二課 註釋符號 註釋是C語言最重要的工具,我們先看自己有沒有能力駕馭它,再討論有沒有必要深究。 註釋規則 編譯器在編譯過程中使用空格替換整個註釋 字串字面量中的//和/**/不代表註釋符號 /…/型註釋不能被巢狀 12-1 註釋規則 有趣的問題 你覺得 y=x/*p是
C語言筆記 第十一課 enum,sizeof,typedef分析
第十一課 enum,sizeof,typedef分析 列舉型別的使用方法 enum是C語言中的一種自定義型別 enum值是可以根據需要自定義的整型值 第一個定義的enum值預設為0 預設情況下的enum值是在前一個定義值的基礎上加1 enum型別的變數只能取定義時的離散值
斯坦福大學-自然語言處理入門 筆記 第十四課 CGSs和PCFGs
一、概率上下文無關文法((Probabilistic) Context-Free Grammars) 1、上下文無關文法(Context-Free Grammars) 我們也可以稱之為片語結構語法(Phrase structure grammars) 由四個成分構成G=
C++筆記 第十四課 進階面向物件(下)---狄泰學院
如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第十四課 進階面向物件(下) 1.面向物件基本概念 類之間的基本關係 繼承 從已存在類細分出來的類和原類之間具有繼承關係(is-a) 繼承的類(子類)擁有原類(父類)的所有屬
C語言筆記 第十課 struct和union分析
第十課 struct和union分析 C語言中的struct可以看做變數的集合 struct的問題: 空結構體佔用多大記憶體? 10-1 空結構體的大小 C語言中的灰色地帶,觀點一是空結構體無意義不能存在於C語言裡面(VC10.0 /BCC),觀點二是空結構體為空集合,空集合為
CLR via C#學習筆記-第十四章-字元和字串
14.1 字元 Char結構 Char結構提供的欄位 每個字元都是System.Char結構的例項,Char型別提供了兩個公共只讀常量欄位:MinValue('\0')和MaxValue('\uffff\)。 Char例項能呼叫的方法 為Char的例項呼叫靜態GetUnicodeCategory方法
C語言筆記 第四課 型別轉換
第四課 型別轉換 型別之間的轉換 C語言中的資料型別可以進行轉換 強制型別轉換 隱式型別轉換 強制型別轉換 強制型別轉換的語法 (Type)var_name; (Type)value; 強制型別轉換的結果 目標型別能夠容納目標值:結果不變 目標型別不能容納目標值:結果將產生截斷
學習筆記第十四節課
作業 學習 筆記 df命令 df 匯報磁盤的使用情況。 這個命令可以直接執行。 linux的磁盤是不能直接訪問的,必須要有掛載點,才能找到磁盤,進入讀寫數據。 df -h 加了h可以根據磁盤大小適當顯示單位。 帶tmpfs的是臨時的文件系統,在這個掛載點裏寫東西,重啟後也會小時。 shm是
斯坦福大學-自然語言處理入門 筆記 第十九課 單詞含義與相似性
一、單詞含義與單詞關係 回顧:詞目(lemma)與單詞形式(wordform) 詞目:表示相同的詞根、詞性以及大致的語義 單詞形式:表示在文件中出現的具體單詞形式 一個詞目可能會含有很多含義(sense)。含義(sense)表示單
斯坦福大學-自然語言處理入門 筆記 第十八課 排序檢索介紹(ranked retrieval)
一、介紹 之前我們的請求都是布林型別。對於那些明確知道自己的需求並且瞭解集合體情況的使用者而言,布林型別的請求是很有效的。但是對於大部分的其他使用者而言,布林請求的問題是:大部分使用者不熟悉布林請求;布林請求比較複雜;布林請求的結果不是太多就是太少。排序檢索應運而生。 排序
斯坦福大學-自然語言處理入門 筆記 第十七課 資訊檢索(information retrieval)
一、介紹 資訊檢索(information retrieval)是從海量集合體(一般是儲存在計算機中的文字)中找到滿足資訊需求(information need)的材料(一般是文件) 資訊檢索的應用領域:網頁搜尋,郵件搜尋,電腦內部搜尋,法律資訊檢索等等 資訊檢索的基
斯坦福大學-自然語言處理入門 筆記 第十六課 依存句法分析(Dependency Parsing)
一、介紹 1、依存句法 依存句法假設:句法結構包含相互之間是雙邊不對稱關係的詞典(lexical)元素,這種不對稱的關係成為依存(dependency),在圖中的表現是單向箭頭。 箭頭通常還會打上這種語法關係的名字(主語,前置賓語等等) 箭頭一邊連線中心詞head
斯坦福大學-自然語言處理入門 筆記 第十五課 詞彙化(Lexicalization)的PCFGs
一、介紹 一個短語的中心詞(head word)可以很好地代表這個短語的結構和含義,在構建PCFG模型的時候,可以考慮將這部分資訊納入其中。如下圖所示加入單詞資訊可以幫助我們更好地選擇出合適的模型。 二、Charniak模型 Charniak模型是詞彙化P
斯坦福大學-自然語言處理入門 筆記 第十二課 詞性標註(Part-of-speech tagging)
一、詞性(part-of-speech)介紹 詞性:名詞(Nouns),動詞(Verbs),形容詞(Adjectives), 副詞(Adverbs)等等就是我們想要研究的詞性 我們可以把詞性分為開放類(open class)和閉合類(closed class)。
斯坦福大學-自然語言處理入門 筆記 第十一課 最大熵模型與判別模型(2)
一、最大熵模型 1、模型介紹 基本思想:我們希望資料是均勻分佈的,除非我們有其他的限制條件讓給我們相信資料不是均勻分佈的。均勻分佈代表高熵(high entropy)。所以,最大熵模型的基本思想就是我們要找的分佈是滿足我們限制條件下,同時熵最高的分佈。 熵:表示分佈的不