lengthの使い方(初心者です)

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ジョぱん

lengthの使い方(初心者です)

#1

投稿記事 by ジョぱん » 8年前

こんにちは
 int k[12] = {1,2,3,4,5,6,7,8,9,10,11,12};
とグローバル変数で定義したあと、mainで
 for(int i=0; i<k.length;){
とforループしようとしているんですが、
 error:request for member 'lengh' in 'k', which is non-class type 'int[12]'
とエラーがでてしまいます
どこがおかしいのでしょうか?
それと、kの定義のとこは、一定値の配列なので
 const int k[12] = {1,2,3,4,5,6,7,8,9,10,11,12};
としてもよろしいのでしょうか?(どちらにしてもエラーになりますけど)

よろしくおねがいします。

maru
記事: 150
登録日時: 8年前

Re: lengthの使い方(初心者です)

#2

投稿記事 by maru » 8年前

int k[12]にはlengthなんていう名前のプロパティは有りません。
というか、基本型に".xxxx"という表現でアクセスできるようなプログラム言語要素は存在しません。

他言語の知識でプログラムしようとしているようですが、c/c++言語の基本的なところから学習する必要がありそうです。
(普通の初心者はいきなり k.length なんて入力しないと思いますが。)

ジョぱん

Re: lengthの使い方(初心者です)

#3

投稿記事 by ジョぱん » 8年前

ありがとうございます。
配列の要素数、長さ、を表現できるプロパティはないのでしょうか?あったら教えてください。

YuO
記事: 941
登録日時: 8年前
住所: 東京都世田谷区

Re: lengthの使い方(初心者です)

#4

投稿記事 by YuO » 8年前

ジョぱん さんが書きました:配列の要素数、長さ、を表現できるプロパティはないのでしょうか?
無いです。
maru さんが書きました:基本型に".xxxx"という表現でアクセスできるようなプログラム言語要素は存在しません。
とmaruさんが書かれた意味をちゃんと理解してください。

コード:

sizeof(arr) / sizeof(arr[0])
が配列型変数の要素数を取得する一般的な方法です。

maru
記事: 150
登録日時: 8年前

Re: lengthの使い方(初心者です)

#5

投稿記事 by maru » 8年前

ジョぱん さんが書きました:ありがとうございます。
配列の要素数、長さ、を表現できるプロパティはないのでしょうか?あったら教えてください。
うーん、「lengthなんていう名前のプロパティは有りません。」でプロパティというものが有ると勘違いさせてしまいましたかね。

コンパイル時に決定している配列の長さを求めるにはsizeof演算子を使って全体のバイト長とその配列の要素のバイト長を求めて計算します。
size_t length = sizeof(k)/sizeof(k[0]);

dic
記事: 568
登録日時: 9年前
住所: 宮崎県

Re: lengthの使い方(初心者です)

#6

投稿記事 by dic » 8年前

javaですか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: lengthの使い方(初心者です)

#7

投稿記事 by softya(ソフト屋) » 8年前

C++はJavaやC#など他の言語と違い基本型や配列に残念ながらプロパティはありません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ジョぱん

Re: lengthの使い方(初心者です)

#8

投稿記事 by ジョぱん » 8年前

ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る