同プログラムの内容で現在3個の質問をしておりますが!
その質問を解決する上で4つ目の質問をさせていただきます。
悪しからず・・・
さて
以下のサイトのプログラムで 些細な疑問がございます。
https://oshiete.goo.ne.jp/qa/9062058.html
で
struct tanka_kosuu {
int tanka;
int kosuu;
int kingaku; /
以上の中にあるkosuuと
struct tanka_kosuu kosuu[10];のkosuu[10]とは直接関係がありますか?
馬鹿な質問ばかりで申し訳ございませんがよろしくお願いいたします。
No.5ベストアンサー
- 回答日時:
#No.1です。
>kosuu[10];をakb[10];変えたところ 以下の errorでてコンパイルできません!?
> example10.c(15) : error C2065: 'kosuu' : 定義されていない識別子です。
宣言している変数名を変更したら、その変数を利用している場所(エラーメッセージで15行目と書かれています)の変数名も変更する必要があると思いませんか?
下の例で、1行目も変数をaからbに変えたら、2行目,3行目のaも、bに変える必要があのはご理解いただけますよね?
01: int a;
02: a = 10;
03: printf("a=%d\n", a);
ご回答誠にありがとうございました^^。
取り急ぎ結果をご報告いたします。
※初歩的なミスでした。
#include <stdio.h>
struct tanka_kosuu {
int tanka;
int kosuu;
int kingaku;
};
int main()
{
struct tanka_kosuu akb[10];
struct tanka_kosuu kari_nyuuryoku = {-1, 0, 0};
int nyuuryoku_kosuu = 0;
while(kari_nyuuryoku.tanka != 0){
scanf("%d %d", &kari_nyuuryoku.tanka,
&kari_nyuuryoku.kosuu);
akb[nyuuryoku_kosuu] = kari_nyuuryoku;
nyuuryoku_kosuu++;
}
return 0;
}
c:\msys\1.0\home\Administrator>CL example10.c
Microsoft(R) C/C++ Optimizing Compiler Version 18.00.30723 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
example10.c
Microsoft (R) Incremental Linker Version 12.00.30723.0
Copyright (C) Microsoft Corporation. All rights reserved.
/out:example10.exe
example10.obj
c:\msys\1.0\home\Administrator>
Administrator@ADMINISTRATOR ~
$ example10
100 3
0 0
Administrator@ADMINISTRATOR ~
$
No.4
- 回答日時:
> example10.c(15) : error C2065: 'kosuu' : 定義されていない識別子です。
変数名であるkosuuを全部akbに変えないと駄目ですよ。メンバー名のkosuuまで変えないように。
No.3
- 回答日時:
名前空間という物があって、同じ名前空間の中では違う物に同じ名前を付けられません(名前が同じ物なら表す物も同じ)。
名前空間が異なれば同じ名前であっても無関係な別物です。Cの場合は、
1.gotoのラベル
2.構造体等のタグ struct foo { ・・・ } のfoo等
3.構造体等のメンバ名 struct foo { int x; float y;・・・} のx,y等
4.その他、変数名、関数名、型名など
の4つの名前空間があります。
質問文では、構造体のメンバ名と変数名なので、別物です。
別の会社なら、同じ社員番号でも赤の他人というようなもの。
No.2
- 回答日時:
関係ありません。
同じ変数名を使用しているだけです。
struct tanka_kosuuをkousuuとして表現するなら
その中のint kosuuについてはkousuu.kousuuというような表現になります。
構造体のようなものになるとオブジェクト指向の概念を理解するとわかりやすくなります。
ご回答くださいませいて誠にありがとうございました。
「いちばんやさしい オブジェクト指向の本」
http://www.amazon.co.jp/%E3%81%84%E3%81%A1%E3%81 …
を8年ぐらい前に購入しまして、なぜかしりませんが2/3ぐらい読んで
まだ最後まで読んでいません。
今日から最後まで読みます。
No.1
- 回答日時:
直接関係はありません。
偶々同じ名前を使用しているだけです。※初学者の方はこういった点でも疑問に感じるのですね。いろいろな面で参考になります。
※蛇足かもしれませんが、
既にコンパイル環境をお持ちのはずですから、ご自身で確認されてみては如何でしょうか?
私が同じ疑問を持ったとしたら、どちらかの変数名を変えてコンパイルして、同一のデータを入力してみて、結果が変わるか確認すると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# 未解決の外部シンボル _printfが関数_mainで参照されました 1 2022/09/18 15:28
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- C言語・C++・C# プログラムが書けません。 4 2023/01/22 22:57
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- C言語・C++・C# 至急教えてください! プログラミングの問題です! お願いします! 出力2と全く同じ出力をするように、 2 2022/06/22 23:10
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
<math.h>ヘッダを入力している...
-
共有ライブラリの内容確認について
-
math.hに含まれる関数が使えない
-
MVSマシンで0C7でABENDしたので...
-
実行後にコンパイルに失敗しま...
-
プレコンパイルの意味を教えて...
-
C言語で作ったらWindowsでもMac...
-
Verilog_HDLでのdefineとifdef
-
EXEファイルの逆コンパイル
-
CLRアプリと通常のアプリとの違い
-
「逆コンパイル」ってできるん...
-
C言語で作ったプログラムを他の...
-
[COBOL] ソースの復帰
-
WindowsでのC と LinuxでのC...
-
gcc コンパイル killed
-
latex cite, ref
-
VS2010環境で2点ほど質問
-
C言語のグローバル変数の初期...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
math.hに含まれる関数が使えない
-
実行後にコンパイルに失敗しま...
-
c言語です コンパイルした時に...
-
ビープ音が鳴りません・・・
-
共有ライブラリの内容確認について
-
C言語をコンパイルするとコンピ...
-
すべてのリビルド: 0 正常、 0 ...
-
Verilog_HDLでのdefineとifdef
-
C#で char型とstring型の比較で...
-
64ビットのlinuxで32ビットメモ...
-
gcc コンパイル killed
-
#If True Then の # って何??
-
プレコンパイルの意味を教えて...
-
[COBOL] ソースの復帰
-
<math.h>ヘッダを入力している...
-
C言語で作ったらWindowsでもMac...
-
ヘッダーファイル『windows.h』...
-
define文のパラメータを実行時...
おすすめ情報
ご回答くださいまして誠にありがとうございました。
covachan様のご回答から
あ!そうでした、まず試すことが先決でした。
手が空き次第試そうと思います。
お待ちくださいませ
#include <stdio.h>
struct tanka_kosuu {
int tanka;
int kosuu;
int kingaku;
};
int main()
{
struct tanka_kosuu akb[10];
以下省略
kosuu[10];をakb[10];変えたところ
以下の errorでてコンパイルできません!?
example10.c
example10.c(15) : error C2065: 'kosuu' : 定義されていない識別子です。
example10.c(15) : error C2109: 配列または、ポインターでない変数に添字が使われま
した。
以上ですが、ご回答から
#2さん 関係ありません。
#1 さん 直接関係はありません。
ですが・・errror内容からしまして、いかがものでしょうか?
よろしくお願いいたします