C 基礎 const基本用法

2021-09-27 12:16:06 字數 1998 閱讀 2722

c++中三目運算子可以當左值

(a < b ? a : b )=30

;//返回乙個最小數 並且給最小數賦值成30

const的基本用法

int

main()

int func1

(const

)初級理解:const是定義常量==》const意味著唯讀

含義://第乙個第二個意思一樣 代表乙個常整形數

//第三個 c是乙個指向常整形數的指標(所指向的記憶體資料不能被修改,但是本身可以修改)

//第四個 d 常指標(指標變數不能被修改,但是它所指向記憶體空間可以被修改)

//第五個 e乙個指向常整形的常指標(指標和它所指向的記憶體空間,均不能被修改)

const 和define的不同之處

define 預處理, const在編譯預處理階段處理

**:

#include

using

namespace std;

struct teacher

;//指標所指向的記憶體空間不能被修改

intoperateteacher01

(const teacher *pt)

intoperateteacher02

(teacher *

const pt)

intoperateteacher03

(const teacher *

const pt)

void

main81()

void

main82()

void

main83()

//const 和define的不同之處

//define 預處理, const在編譯預處理階段處理

#define d 20

void

main84()

//const常量是由編譯器處理的,提供型別檢查和作用域檢查

void

fun1()

void

fun2()

intmain()

const好處

//合理的利用const,

//1指標做函式引數,可以有效的提高**可讀性,減少bug;

//2清楚的分清引數的輸入和輸出特性

int setteacher_err( const teacher *p)

const修改形參的時候,在利用形參不能修改指標所向的記憶體空間

1. c語言中的const變數

c語言中const變數是唯讀變數,有自己的儲存空間

2. c++中的const常量

可能分配儲存空間,也可能不分配儲存空間

當const常量為全域性,並且需要在其它檔案中使用

當使用&操作符取const常量的位址

3. const物件必須進行初始化

4. 若要共享,加個extern

extern const int bufsize;

5. 有int &a = 1(err) & const int &a = 10(ok)

6.const與define的異同

c++中的const修飾的,是乙個真正的常量,而不是c中變數(唯讀)。在const修飾的常量編譯期間,就已經確定下來了。

對比加深

c++中的const常量類似於巨集定義

const int c = 5; ≈ #define c 5

c++中的const常量與巨集定義不同

const常量是由編譯器處理的,提供型別檢查和作用域檢查

巨集定義由預處理器處理,單純的文字替換

C語言 const基本用法

const 修飾 int a 10 下面const位置雖然不同,但都是修飾 代表指標所指向的內容不能被改 const int p a const修飾 p 指標指向的內容 不能直接被修改 intconst p a p 30 內容改變,就會報錯 p 20 可以改指向const 修飾變數 const修飾 ...

C 基礎之const基礎用法

前世 下列 for 迴圈語句有兩個問題,兩個都和使用 512 作為迴圈上界有關。for int index 0 index 512 index 第乙個問題是程式的可讀性。比較 index 與 512 有什麼意思呢?迴圈在做什麼呢?也就是說 512 作用何在?第二個問題是程式的可維護性。假設這個程式非...

const基本用法

const定義常變數後,該變數沒有寫許可權,只有讀許可權 const用於定義常變數時,要進行初始化 例如 const int a 10 合法 而const int a 非法 資料型別對於const而言是透明的 例如 const int a 10 等價於 int const a 10 const in...