みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

数配列の長さ

あらかじめ決まってないint型の配列の長さはどうのようにして求めたら良いのでしょうか?
int array[100];で宣言して実際に数字が入るのは100以下の様な状況

sizeofで調べると100になってしまうので配列の最後に@マークを代入して長さを調べてたのですが何か適切な方法はありますか?

プログラミング初心者なのでこれ以上思いつかなかったので適切な方法があればよろしくお願いします。

投稿日時 - 2018-02-26 17:48:16

QNo.9432945

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

>sizeofで調べると100になってしまうので配列の最後に@マークを代入して長さを調べてたのですが何か適切な方法はありますか?

int array[100];
をsizeof(array)で調べると100になるということですか?
sizeof(int)が1の環境でないとありえませんが。

arrayにいくつ数字が入っているかは、それ用の変数を用意してください。

値として入るのが0以上という条件があれば無効な部分には負数をいれておいて0以上の値の入ってる数を調べるというのもあります。

@マークを代入してというのは
array[0] = '@';
みたいなことだと思いますが64('@'の文字コードの値0x40)が使用できませんので不適切です(数字として64が入ることはないというならありですけど)。

投稿日時 - 2018-02-26 20:50:10

ANo.2

これをやりたいんですかね?

配列を自由自在に作る:
https://9cguide.appspot.com/19-01.html#S2

投稿日時 - 2018-02-26 18:51:05

お礼

ありがとうございました

投稿日時 - 2018-02-26 19:07:42

ANo.1

100個作っていますからarray[0]からarray[99]まで作成されています。
array[100]はありませんのでご注意。

投稿日時 - 2018-02-26 17:52:52

お礼

投稿日時 - 2018-02-26 19:07:23

あなたにオススメの質問