C 中的常量 表示式 函式

2021-09-19 05:01:40 字數 1769 閱讀 7782

變數

變數定義: 型別 識別符號 = 常量,

含義: 申請以識別符號命名的指定型別的儲存空間

訪問變數:物件占有記憶體的第乙個位元組的位址為物件位址(0x),通過物件名或位址進行讀寫訪問

指標型別變數定義: 型別 * 識別符號 = &變數 , 初始賦值為0/null, &為取址符, *為解址符

含義: 存放物件位址的變數

交換指標值: 通過第三方指標變數; 交換指標物件值:通過第三方物件變數

void型別指標按轉換型別解釋所指物件

引用引用定義: 型別 & 引用名 = 變數名

含義: 引用相當於變數別名,指向同一位址,不得重定義. 常量

常量約束定義: const 型別 識別符號 = 常量值/表示式

含義:關鍵字const約束物件唯讀

常量指標定義: const 型別

*識別符號 = &常量/變數(間址唯讀)

指標常量定義: 型別 *

const 識別符號 = &變數(定義初始化)

指向常量的指標常量定義: const 型別 * const 識別符號 = &常量/變數(間址唯讀)(定義初始化)

常引用定義: const 型別

& 引用名 = 變數名, 引用唯讀

表示式表示式型別: 算術(sizeof)、邏輯(關係,邏輯)、條件(三目)、賦值、逗號表示式

運算子優先順序:

引用物件 > 單目(右) > 算術 > 位運算/提取符 > 關係 > 按位/邏輯 > 條件(右) > 賦值(右) > 逗號

其中 : 乘除 > 加減 > 提取 > 大小 > 對等 > 按位 > 邏輯 > 三目 > 賦值

例如: b = a++ / ++a ,編譯掃瞄器從左開始識別運算子,根據順序及優先順序會出現

b = a,a++/a++,b=a 兩種結果

表示式算術運算值只有(int、double、long、unsigned int/long)五種型別,向高長看齊,具有強制性,

型別轉換會逐算符且先轉換括號內型別

邏輯表示式只有true、false兩值,包含關係、邏輯運算子進行左結合運算

當表示式&&(與)

第乙個值為false不對後面求值,當||(或) 第乙個值為true不對後面求值

賦值表示式稱為左值表示式,可右結合關聯賦值,結合後省略右值繼續運算

與雙目運算子結合可縮寫表示式:a = a op b --> a op= b

輸入輸出流iostream 中輸出格式控制符有:endl換行清空流、ends空格清空流、dec/oct/hex進製、

setfill()填充符,setprecision()浮點輸出精度、setw()輸出寬度

函式函式是功能抽象的模組;作用為任務劃分與**重用;乙個c++檔案最少有乙個函式即主函式

函式有輸入流,函式體與輸出流,輸入流有引數(指標,引用,值),輸出流有返回值與引數(呼叫,指標,引用)

定義形式:

函式頭(函式介面): 返回值型別 函式名(形式參數列)

函式體(功能實現): 語句序列;return(不執行後續語句,且強轉返回值,空可省)

當呼叫在定義之前需要宣告函式原型: 返回值型別 函式名(形參列表) ; 宣告語句加分號

原型形參名可省略,函式可作為原型,函式位址為函式名指向的位址

形參列表需與函式形參一一對應,其中有預設值的在最後,且過載時不允許有除預設值項外相同的原型

呼叫函式時實參需與形參對應,引數傳遞有值傳遞,指標傳遞,引用傳遞,

傳值引數會複製實參值到形參物件中(強轉),修改在形參物件中完成,不影響實參,實參可以是常量,初始化變數或表示式,函式返回值通過匿名物件返回後物件撤銷

初識C 常量表示式函式

常量表示式函式 constexpr function 是指能用於常量表示式的函式。其定義的方法和其他函式差不多,但主要滿足一下規則 1.函式返回型別是字面值型別 2.函式引數是字面值型別 3.函式體中有且只有一條return語句 eg constexpr intnew sz constexpr in...

常量表示式

字面值 是乙個不能改變的值,如數字 字元 字串等。單引號內的是字元字面值,雙引號內的是字串字面值。字面值型別 literal type 算數型別 引用和指標等。常量表示式 const experssion 是指 1 值不會改變 並且 2 在編譯過程就能得到計算結果的表示式。字面量屬於常量表示式,用常...

常量表示式

為了使函式獲取編譯時計算的能力,你必須指定constexpr關鍵字到這個函式。constexpr int multiply int x,int y 將在編譯時計算 const int val multiply 10,10 除了編譯時計算的效能優化,constexpr的另外乙個優勢是,它允許函式被應用...