調べてたら以下のページを発見。
まんまコピー。
hiramine.com
const char* constの2つのconstがそれぞれが何の値を変更不可にするのかのまとめ。
const char* の変数は、定数データへのポインタ。
中身の変更不可、アドレスの変更可。
覚え方
char szAAAAA[] = "AAAAA"; char szBBBBB[] = "BBBBB"; const char* pBuffer = szAAAAA; // 定数データへのポインタ pBuffer[1] = 'C'; // 不可(コンパイルエラー) pBuffer = szBBBBB; // 可(正しい)
char* const の変数は、定数ポインタ。
中身の変更可、アドレスの変更不可。
覚え方
char szAAAAA[] = "AAAAA"; char szBBBBB[] = "BBBBB"; char* const pBuffer = szAAAAA; // 定数ポインタ pBuffer[1] = 'C'; // 可(正しい) pBuffer = szBBBBB; // 不可(コンパイルエラー)
const char* const の変数は、定数データへの定数ポインタ。
中身の変更不可、アドレスの変更不可。
char szAAAAA[] = "AAAAA"; char szBBBBB[] = "BBBBB"; const char* const pBuffer = szAAAAA; // 定数ポインタ pBuffer[1] = 'C'; // 不可(コンパイルエラー) pBuffer = szBBBBB; // 不可(コンパイルエラー)
コメントはありません。 コメント/C言語メモ/const char* const?
Online: 1