簡體   English   中英

如何輸入定義常量變量

[英]how to typedef a constant variable

  typedef char* ptr;
  const ptr p;

這是真的:

  • p指向一個恆定的字符; 要么
  • p是常量並指向一個字符。

請解釋原因

typedef char* ptr;
const ptr p;

后一行相當於

char * const p;

pcharconst指針。 typedef為類型引入了新名稱,它不是文本替換。

首先,讓我們暫時取出等式中的typedef。

const char *pchar const *p都聲明p作為一個非const指針常數數據; 你可以指定p指向不同的東西,但你不能修改指向的東西。

char * const p聲明p常量指針到非const數據; 你不能改變p指向不同的對象,但你可以修改p指向的東西。

const char * const pchar const * const p都將p聲明為const數據的const指針。 這應該是相當不言自明的。

typedef有點不直觀。 ptrchar *的同義詞,所以const ptr充當char * const ; const限定符正在應用於指針類型,而不是char類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM