はじめまして。c#超初心者の中学生と申します。
先日、「C言語のe本」という、初心者向けの本を買い、gccというコンパイラをダウンロードして、ぼちぼちやっていました。それのp187,188に載ってる以下のソースコードを打ち込んでコンパイルしましたが、コマンドプロントにMyC203.c:20:11: error: in 'structMySruct' no member named 'name' is.と、何回やっても表示されるのでここに質問しました。なにとぞよろしくお願いします。
これが問題のソースコードです。
/* MyC203.c */
#include <stdio.h>
#include <string.h>
struct MyStruct {
int taijyu;
int sincho;
char namae[10];
};
int main(void)
{
int i;
struct MyStruct s;
i = 0;
s.taijyu = 20;
s.sincho = 120;
strcpy(s.name, "A0");
printf("A[%d]さん\n", i);
printf("名前:%s\n", s.namae);
printf("体重:%dで身長:%d\n", s.taijyu, s.sincho);
return 0;
}
初心者の質問ですが、よろしくお願いします。
Re: 初心者の質問ですが、よろしくお願いします。
そのエラーは、
「構造体structMySructにはnameという名前のメンバは存在しません」という意味です。
構造体structMySructが持っているメンバは、
taijyu
sincho
namae
の3つです
どこかに間違ってnameと書いてないか確認してください。
「構造体structMySructにはnameという名前のメンバは存在しません」という意味です。
構造体structMySructが持っているメンバは、
taijyu
sincho
namae
の3つです
どこかに間違ってnameと書いてないか確認してください。
Re: 初心者の質問ですが、よろしくお願いします。
> char namae[10];
> strcpy(s.name, "A0");
nameとnamaeの違いです。
中学生じゃ難しいかもしれないけれど、
コンパイルエラーのメッセージも同じ指摘をしています。
> strcpy(s.name, "A0");
nameとnamaeの違いです。
中学生じゃ難しいかもしれないけれど、
コンパイルエラーのメッセージも同じ指摘をしています。
Re: 初心者の質問ですが、よろしくお願いします。
皆様、回答していただきありがとうございました。
テキストには、20行目のところは、nameと書けって書いてありました。
今度クレームしに行ってきます。
テキストには、20行目のところは、nameと書けって書いてありました。
今度クレームしに行ってきます。
Re: 初心者の質問ですが、よろしくお願いします。
> 今度クレームしに行ってきます。
社会勉強にはなるかもしれないけどお勧めできません。
世の中に完璧な物などありません。
誰でも間違いを犯すように、どんな本にも間違いはありえます。
不完全な、場合によっては恣意的な嘘を含んだ情報の中から、
自分に必要な情報を選択して学習しないといけません。
小学校から高校までの教科書などは、莫大な費用をかけて校正し、
殆ど誤字・脱字のない例外と考えて下さい。
(記載すべき内容が正しいかという事については反論も多いです)
普通の本でそれをやってしまうと高くなりすぎて誰も買いません。
と、書きながら思い出しましたが、私も昔クレームの電話をしました。
あまりにも間違いの多い入門書は有害である、というような事を言ったと思います。
数カ月後に間違いの少し減った第2版が送られてきました。
1つや2つの間違いで大騒ぎすることもないと思いますので、
間違い探しのつもりで5つ見つけてみてはどうでしょうか?
5つという数字に特に意味はありませんが、出版社の立場を想像すると、
「間違いの指摘はありがたいけど、1つ見つけるたびに電話されたら
正直言って対応が面倒」ということです。
出版社のWebサイトに正誤表がありました。
http://www.shuwasystem.co.jp/books/7980 ... 542-8.html
これに載っていない物で5つ探しましょう。
(nameとnamaeについては載っていません)
社会勉強にはなるかもしれないけどお勧めできません。
世の中に完璧な物などありません。
誰でも間違いを犯すように、どんな本にも間違いはありえます。
不完全な、場合によっては恣意的な嘘を含んだ情報の中から、
自分に必要な情報を選択して学習しないといけません。
小学校から高校までの教科書などは、莫大な費用をかけて校正し、
殆ど誤字・脱字のない例外と考えて下さい。
(記載すべき内容が正しいかという事については反論も多いです)
普通の本でそれをやってしまうと高くなりすぎて誰も買いません。
と、書きながら思い出しましたが、私も昔クレームの電話をしました。
あまりにも間違いの多い入門書は有害である、というような事を言ったと思います。
数カ月後に間違いの少し減った第2版が送られてきました。
1つや2つの間違いで大騒ぎすることもないと思いますので、
間違い探しのつもりで5つ見つけてみてはどうでしょうか?
5つという数字に特に意味はありませんが、出版社の立場を想像すると、
「間違いの指摘はありがたいけど、1つ見つけるたびに電話されたら
正直言って対応が面倒」ということです。
出版社のWebサイトに正誤表がありました。
http://www.shuwasystem.co.jp/books/7980 ... 542-8.html
これに載っていない物で5つ探しましょう。
(nameとnamaeについては載っていません)
Re: 初心者の質問ですが、よろしくお願いします。
あと余計なお世話かもしれないが、一言。
今回の問題然りだが、構造体と変数の理解ができていればわかったと思うぞ
(たぶんいきなり説明なしに構造体とか使かっていたなら別だが)
丸写しして動いても、その記述の理由が理解できないと意味ないぞ
今回の問題然りだが、構造体と変数の理解ができていればわかったと思うぞ
(たぶんいきなり説明なしに構造体とか使かっていたなら別だが)
丸写しして動いても、その記述の理由が理解できないと意味ないぞ
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: 初心者の質問ですが、よろしくお願いします。
これも余計なおせっかいですが、C言語とは別にC#という言語があるので「c#超初心者の中学生」と書くと別の言語の質問にみえてしまいますね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。