Last update: 2016-10-20 (木) 10:27:36

C言語メモ/const char* const
Tag: C言語


const char* const

調べてたら以下のページを発見。
まんまコピー。
hiramine.com

const char* constの2つのconstがそれぞれが何の値を変更不可にするのかのまとめ。

const char*

const char* の変数は、定数データへのポインタ。
中身の変更不可、アドレスの変更可。

覚え方

  1. *「アスタリスク」は、その左側すべてに係る。
  2. 「const char」のポインタ
  3. 「文字を変更不可能な文字列」へのポインタ
  4. 中身の変更は不可、アドレスの変更は可
char szAAAAA[] = "AAAAA";
char szBBBBB[] = "BBBBB";
const char* pBuffer = szAAAAA; // 定数データへのポインタ

pBuffer[1] = 'C'; // 不可(コンパイルエラー)
pBuffer = szBBBBB; // 可(正しい)

char* const

char* const の変数は、定数ポインタ。
中身の変更可、アドレスの変更不可。

覚え方

  1. *「アスタリスク」は、その左側すべてに係る。
  2. 「char」のポインタ
  3. 「文字を変更可能な文字列」へのポインタ
  4. 中身の変更は可、アドレスの変更は不可
char szAAAAA[] = "AAAAA";
char szBBBBB[] = "BBBBB";
char* const pBuffer = szAAAAA; // 定数ポインタ

pBuffer[1] = 'C'; // 可(正しい)
pBuffer = szBBBBB; // 不可(コンパイルエラー)

const char* const

const char* const の変数は、定数データへの定数ポインタ。
中身の変更不可、アドレスの変更不可。

char szAAAAA[] = "AAAAA";
char szBBBBB[] = "BBBBB";
const char* const pBuffer = szAAAAA; // 定数ポインタ

pBuffer[1] = 'C'; // 不可(コンパイルエラー)
pBuffer = szBBBBB; // 不可(コンパイルエラー)

コメント

コメントはありません。 コメント/C言語メモ/const char* const?

お名前: