![見出し画像](https://assets.st-note.com/production/uploads/images/111277383/rectangle_large_type_2_61365f5889d1767bdbef2d5bea63d05a.png?width=800)
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';
}
ついでにこちらも(笑)。
この記事が気に入ったらサポートをしてみませんか?