C言語教室 第34回 - 型修飾子あれこれ(回答)
こちらの記事の課題回答です。
なんだか、いきなり第34回まですっとばしてしまった気もするけど。
課題
char s[] = “abcdefg”;
const char *p = s;
char * const q = s;
このとき、pとqで何が違うのかを説明しなさい。
回答
p はポインタの先のデータを変更できなくて、
q はポインタそのものを変更できない。
コードで書くとこんな感じ。
int main()
{
char s[] = "abcdefg";
char t[] = "hijklmn";
const char *p = s;
char * const q = s;
p = t;
p[0] = 'z'; /* コンパイルエラー */
q = t; /* コンパイルエラー */
q[0] = 'z';
}
ついでにこちらも(笑)。
この記事が気に入ったらサポートをしてみませんか?