char * const と const char * の違いは何ですか? 質問する

char * const と const char * の違いは何ですか? 質問する

次の違いは何ですか?

char * const 

そして

const char *

ベストアンサー1

違いは、const char *は へのポインターであるのconst charに対し、char * constは への定数ポインターである点ですchar

1 つ目は、指し示されている値は変更できませんが、ポインターは変更できます。2 つ目は、指し示されている値は変更できますが、ポインターは変更できません (参照と同様)。

また、

const char * const

これは定数 char への定数ポインタです (したがって、これについては何も変更できません)。

注記:

次の 2 つの形式は同等です。

const char *

そして

char const *

この正確な理由は C++ 標準で説明されていますが、注意して混乱を避けることが重要です。私は、次のようなコーディング標準をいくつか知っています。

char const

以上

const char

(ポインターの有無にかかわらず)const要素の配置はポインターがある場合と同じになりますconst

おすすめ記事