C言語メモ / const char* const


Last update: 2010-07-28 (水) 16:51:24

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


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?

Online: 1


FrontPage

Soft

Tips


最新の20件

2021-12-21 2020-04-06 2020-03-10 2013-06-28 2013-11-13 2014-06-24

今日の20件

  • counter: 3216
  • today: 1
  • yesterday: 0
  • online: 1

edit