無意間看待同學的一篇關於const究竟修飾了誰的文章,裡面有一些關於typedef的用法,現在貼出源**
#include
typedef int* intpointer;
int main()
*pa=11編譯錯誤很容易理解,因為const修飾使得記憶體值為唯讀,就是指向乙個常量。
pb++編譯錯誤,卻很難理解,因為此時intpointer就相當於int *,那麼根據定義pb只是乙個普通指標,不是常量指標,那麼為什麼不能pb++呢?
原因在於const intpointer pb其實不相當於const int *pb,它其實和const int pb沒什麼區別,
只不過此處變數p2的資料型別是我們自己定義的而不是系統固有型別而已,因此const intpointer pb的含義是:限制資料型別為int *的變數pb為唯讀,所以pb++錯誤.
const和typedef關鍵字的幾種用途
const關鍵字至少有下列n個作用 1 欲阻止乙個變數被改變,可以使用const關鍵字。在定義該const變數時,通常需要對它進行初始化,因為以後就沒有機會再去改變它了 2 對指標來說,可以指定指標本身為const,也可以指定指標所指的資料為const,或二者同時指定為const 3 在乙個函式宣告...
typedef和const之間的trap
部落格好久沒有更新了,主要是因為工作忙,即便不忙也要看看書,工作了才發現好多東西根本就會直接忘記,因為我們工作用不到 比如c 的東西,現在連虛函式表都不快不記得了,慚愧咯 而且我還發現工作了,看書反倒成了一種非常好的休閒了,不過希望我的朋友,同學們都好.現在就說說typedef和const之間的那麼...
typedef和const之間的trap
部落格好久沒有更新了,主要是因為工作忙,即便不忙也要看看書,工作了才發現好多東西根本就會直接忘記,因為我們工作用不到 比如c 的東西,現在連虛函式表都不快不記得了,慚愧咯 而且我還發現工作了,看書反倒成了一種非常好的休閒了,不過希望我的朋友,同學們都好.現在就說說typedef和const之間的那麼...