ページ 11

constについて教えて下さい [入門]

Posted: 2018年9月08日(土) 08:32
by ヴァル
入門書でこんなコードが出てきたんですけど
const char* const array["a","i","u"]
どゆこと?
変数の前にconstをつけると定数になるというのは覚えたんですけど
この例の場合型の前にもconstがついてて意味分かりません;教えて下さい

Re: constについて教えて下さい [入門]

Posted: 2018年9月08日(土) 14:48
by 参照魚
言語はC/C++かと思いますが、(その前提で)記述は下記になるかと思います。

コード:

const char* const array[] = ["a","i","u"];
①const char* は指しているchar配列の内容を変更できないという意味です。
"a"等は固定文字列でそもそも変更できませんのでこのconstは必須です。

コード:

char* const array[] = ["a","i","u"]; // エラーになる
②const array[] は 配列の要素を変更できないという意味です。

コード:

const char* const array[] = ["a","i","u"]; 
array[0] = "x"; // エラーになる
array[1] = "y"; // エラーになる
array[2] = "z"; // エラーになる

Re: constについて教えて下さい [入門]

Posted: 2018年9月08日(土) 17:32
by ヴァル
理解できました
ありがとうございます