C 中的指標與const

2021-07-11 12:05:37 字數 741 閱讀 2739

假設有int i = 40,指標*與const的組合形式有以下幾種:

(1) const int *p = &i; 正確,不能通過指標p來修改變數i的值,可以通過i修改。

(2) int const *p = &i; 正確,等價於(1)

(3) const int const *p = &i; 警告:多次使用同一型別限定符。實際上等價於(1)。

(4) int *const p = &i; 正確,指標p始終指向變數i,無法修改指標p的指向,但是可以通過指標p修改i的值,也可以通過i來修改自身的值。

(5) const int *const p = &i; 正確,指標p始終指向變數i,無法修改指標p的指向,也不能通過指標p修改i的值,但可以通過i來修改自身的值。

假設有const int i = 40,指標*與const的組合形式有以下幾種:

(1) const int *p = &i; 正確,不能通過指標p來修改變數i的值,也不能通過i修改。

(2) int const *p = &i; 正確,等價於(1)

(3) const int const *p = &i; 警告:多次使用同一型別限定符。實際上等價於(1)。

(4) int *const p = &i; 錯誤:無法從「const int *」轉換為「int *const 」

(5) const int *const p = &i; 正確,指標p始終指向變數i,無法修改指標p的指向,也不能通過指標p修改i的值,也不能通過i來修改自身的值。

c 中 const與指標

const與指標這塊自己一直理解的朦朦朧朧的,今天在vs上專門做個一些測試,特此記錄。const與指標一般有兩種情況 一是修飾指標指向的物件,二是用const修飾指標.如 int age 23 const int pt age int age 23 const int pt age int sage...

c 中的const與指標

在c c 中,指標本身就是乙個難點,再加與const的結合,常會產生許多讓人費解的地方,在這裡做個小結。1.定義const物件 const int buffsize 512 因為常量定義後就不能修改,所以定義時必須初始化.const i,j 0 error,i沒有初始化 2.const物件預設為檔案...

c 中的const與指標

原文 c c 中,指標本身就是乙個難點,再加與const的結合,常會產生許多讓人費解的地方,在這裡做個小結。1.定義const物件 const int buffsize 512 因為常量定義後就不能修改,所以定義時必須初始化.const i,j 0 error,i沒有初始化 2.const物件預設為...