C語言筆記 第十二課 註釋符號
第十二課 註釋符號
註釋是C語言最重要的工具,我們先看自己有沒有能力駕馭它,再討論有沒有必要深究。
註釋規則
編譯器在編譯過程中使用空格替換整個註釋
字串字面量中的//和/**/不代表註釋符號
/…/型註釋不能被巢狀
12-1 註釋規則
有趣的問題
你覺得 y=x/*p
是什麼意思?
作者本意:把x除以*p的結果賦值給y。
編譯器:將/*作為一段註釋的開始,把/後的內容都當成註釋內容,知道/出現為止。
在編譯期看來,註釋和其他程式元素是平等的。因此,作為工程師不能輕視註釋。
12-2.c
教科書型註釋
註釋用於闡述原因和意圖而不是描述程式的執行過程!
迷惑型的註釋
忽悠型的註釋
搞笑型註釋
例項分析
form.c漂亮的註釋—高通公司
小結:
註釋應該準確易懂,防止二義性,錯誤的註釋有害無利
註釋是對程式碼的提示,避免臃腫和喧賓奪主
一目瞭然的程式碼避免加註釋
不要用縮寫來註釋程式碼,這樣可能會產生誤解
註釋用於闡述原因和意圖而不是描述程式的執行過程
相關推薦
C語言筆記 第十二課 註釋符號
第十二課 註釋符號 註釋是C語言最重要的工具,我們先看自己有沒有能力駕馭它,再討論有沒有必要深究。 註釋規則 編譯器在編譯過程中使用空格替換整個註釋 字串字面量中的//和/**/不代表註釋符號 /…/型註釋不能被巢狀 12-1 註釋規則 有趣的問題 你覺得 y=x/*p是
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語言中的單引號用來表示字元字面量 C語言中的雙引號用來表示字串字面量 下面的程式片段合法嗎?三條語句都合法,1、2語句有警告 char* p1 = 1; //數字1 char* p2 = ‘1’; //字元1 char* p3 = “1”; //
C語言筆記 第十一課 enum,sizeof,typedef分析
第十一課 enum,sizeof,typedef分析 列舉型別的使用方法 enum是C語言中的一種自定義型別 enum值是可以根據需要自定義的整型值 第一個定義的enum值預設為0 預設情況下的enum值是在前一個定義值的基礎上加1 enum型別的變數只能取定義時的離散值
斯坦福大學-自然語言處理入門 筆記 第十二課 詞性標註(Part-of-speech tagging)
一、詞性(part-of-speech)介紹 詞性:名詞(Nouns),動詞(Verbs),形容詞(Adjectives), 副詞(Adverbs)等等就是我們想要研究的詞性 我們可以把詞性分為開放類(open class)和閉合類(closed class)。
C++筆記 第十二課 經典問題解析一---狄泰學院
#1024程式設計師節# 如果在閱讀過程中發現有錯誤,望評論指正,希望大家一起學習,一起進步。 學習C++編譯環境:Linux 第十二課 經典問題解析一 1.關於const的疑問 const什麼時候是隻讀變數?什麼時候是常量? const常量的判斷準則 只有用字面量初始化
C語言筆記 第十課 struct和union分析
第十課 struct和union分析 C語言中的struct可以看做變數的集合 struct的問題: 空結構體佔用多大記憶體? 10-1 空結構體的大小 C語言中的灰色地帶,觀點一是空結構體無意義不能存在於C語言裡面(VC10.0 /BCC),觀點二是空結構體為空集合,空集合為
CLR via C#學習筆記-第十二章-泛型
vat message 靜態 定義 泛型接口 void 失敗 internal 運行時 泛型是CLR和編程語言提供的一種特殊機制,他支持另一種形式的代碼重用,即算法重用。 CLR允許創建泛型引用類型和泛型值類型,但不允許創建泛型枚舉類型。 此外CLR還允許創建泛型接口和泛型
CLR via C#學習筆記-第十二章-泛型基礎結構
12.2 泛型基礎結構 12.2.1 開放型別和封閉型別 具有泛型型別引數的型別仍然是型別,CLR同樣會為他建立內部的型別物件。 然而具有泛型型別引數的型別稱為開放型別,CLR禁制構造開放型別的任何例項。類似於CLR禁止構造介面型別的例項。 程式碼引用泛型類時可指定一組泛型型別實參。為所有型
CLR via C#學習筆記-第十二章-泛型接口、委托
pre 類型安全 sealed 2.4 span 接口 triangle 泛型類 保持 12.3 泛型接口 泛型接口的意義 顯然,泛型的主要作用就是定義泛型的引用類型和值類型。 然而對泛型接口的支持對CLR來說也很重要。沒有泛型接口,每次用非泛型接口如IComparable
CLR via C#學習筆記-第十二章-泛型方法和其他成員
12.6 泛型方法 方法和類可以各自定義型別引數 定義泛型類、結構或介面時,型別中定義的任何方法都可以引用型別指定的型別引數。 型別引數可以作為方法引數、返回值或方法內部定義的區域性變數的型別使用。 CLR還允許方法指定他自己的型別引數,這些引數也可以作為引數、返回值或區域性變數的型別使用。 在下例
CLR via C#學習筆記-第十二章-可驗證性和約束
12.8 可驗證性和約束 where關鍵字 編譯器和CLR支援稱為約束的機制,可通過它使泛型變得真正有用。 約束的作用限制能指定成泛型實參的型別數量,通過限制類型的數量,可以對那些型別執行更多操作: public static T Min<T>(T o1,T o2) whe
c++ primer 筆記第十二章動態記憶體
第十二章:動態記憶體 梗概:本章主要講解使用C++智慧指標動態管理記憶體以及直接管理動態記憶體的方法以及他們的結合。 靜態記憶體儲存static變數以及定義在所有函式之外的變數。棧記憶體儲存函式之內的非static變數,堆記憶體用來分配給程式動態產生的物件。靜態記憶體和棧記憶體中的變數由編譯
C++學習筆記第十二篇
111.容器中存放的都必須是值而不能是引用,容器內部實施的是值拷貝工作,容器內可以存放指標作為資料元素,STL中的容器其實就是資料結構課程中學習的連結串列,棧,佇列和雜湊表等結構。 112.線性表的典型操作: (1)size:獲取當前容器中的元素數目。 (2)insert:在當前元素前插
C++語言筆記系列之二十——模版
輸出 類模板 pos 有一個 class 初始 個數 創建對象 example 1.隨意輸入兩個數x和y,輸出最大值max。 int max(int x, int y) {return x>y?x:y;} 2.函數模版 (1)用一種或者多
學習筆記第十二節課
作業usermod命令 usermod 可以改一個用戶的uid和gid 也可以指定家目錄和 shell 還有一個選項 -G 我們可以用id 選項查看用戶的組 組不僅包括uid和gid 還包括了一些擴展組。一個用戶可以屬於多個組,gid只有一個,其他的叫擴展組 做個實驗:把用戶放在grp2裏, 也
斯坦福大學-自然語言處理入門 筆記 第十九課 單詞含義與相似性
一、單詞含義與單詞關係 回顧:詞目(lemma)與單詞形式(wordform) 詞目:表示相同的詞根、詞性以及大致的語義 單詞形式:表示在文件中出現的具體單詞形式 一個詞目可能會含有很多含義(sense)。含義(sense)表示單