[英]how to typedef a constant variable
typedef char* ptr;
const ptr p;
這是真的:
p
指向一個恆定的字符; 要么 p
是常量並指向一個字符。 請解釋原因
typedef char* ptr;
const ptr p;
后一行相當於
char * const p;
即p
是char
的const
指針。 typedef
為類型引入了新名稱,它不是文本替換。
首先,讓我們暫時取出等式中的typedef。
const char *p
和char const *p
都聲明p
作為一個非const指針常數數據; 你可以指定p
指向不同的東西,但你不能修改指向的東西。
char * const p
聲明p
為常量指針到非const數據; 你不能改變p
指向不同的對象,但你可以修改p
指向的東西。
const char * const p
和char const * const p
都將p
聲明為const數據的const指針。 這應該是相當不言自明的。
typedef
有點不直觀。 ptr
是char *
的同義詞,所以const ptr
充當char * const
; const
限定符正在應用於指針類型,而不是char
類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.