アプリ版:「スタンプのみでお礼する」機能のリリースについて

#include <stdio.h>
struct tanka_kosuu {
int tanka;
int kosuu;
int kingaku;
};
int main()
{
         struct tanka_kosuu kosuu[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);
kosuu[nyuuryoku_kosuu] = kari_nyuuryoku;
nyuuryoku_kosuu++;
}
return 0;
}
以上ですが、
 struct tanka_kosuu {
int tanka;
int kosuu;
int kingaku;
以上と
struct tanka_kosuu kosuu[10];は
 以下
int tanka;
int kosuu[10];
int kingaku;
 と同じ意味ですか?
 それとも
  int tanka[10];
int kosuu[10];
int kingaku[10]; 
 と同じ意味ですか?
int tanka[10];と
 int kingaku[10];の
 合計に[10]は必要ないですよね
以上すべて私の考え方が間違っていたならごめんなさい。
 以上よろしくお願いいたします。

質問者からの補足コメント

  • #include <stdio.h>
    struct tanka_ data {
      int tanka;
      int kosuu;
      int kingaku;
    };
    int main()
    {
    struct tanka_kosuu data [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);
    data [nyuuryoku_kosuu] = kari_nyuuryoku;
    nyuuryoku_kosuu++;
    }
    return 0;
    } これでいいでしょうか

      補足日時:2015/04/27 22:24

A 回答 (3件)

#1です。



>struct tanka_ data { ・・・・(1)
>  int tanka;
>  int kosuu;
>  int kingaku;
>};
・・・途中省略
>} これでいいでしょうか

(1)のところは、変えてはいけません。
struct tanka_kosuu { 
のままにして下さい。
他は、問題ありません。
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございます。
  恥ずかしながら、
Struct tanka_kosuu { 構造体名なので変えてはいけない場所でした。
 「なんで変えたのだろう」と思うのですが!
国家資格勉強中の合間に書き込みましたので、集中力
にかけていました。
 あしからず^^

お礼日時:2015/04/28 04:42

struct tanka_kosuu kosuu[10];の[10]は、配列の要素数を表す部分です。



参考:C言語の配列について
   http://www.c-lang.org/array.html

C言語の前に日本語を勉強した方がいいですね。
    • good
    • 1
この回答へのお礼

あんたさた~どこの人^^
 日本語を勉強した方がいいですなー

お礼日時:2015/04/26 17:29

struct tanka_kosuu kosuu[10]; のkosuuと


int kosuu;のkosuuが同じ変数名なので紛らわしいのですが、
この2つは、まったく別です。
struct tanka_kosuu xxxx[10];としても同じ動作をします。(変数名をxxxxにした)
但し、その場合は、
kosuu[nyuuryoku_kosuu] = kari_nyuuryoku; を
xxxx[nyuuryoku_kosuu] = kari_nyuuryoku; に変える必要がありますが。

struct tanka_kosuu xxxxは
int tanka;
int kosuu;
int kingaku;
の上記3つの変数を1つにまとめたものであることを示しています。
1つのxxxxの中に、tanka,kosuu,kingakuが1個づつ入っています。
xxxx[10]とすると、xxxxが10個なので、
tanka,kosuu,kingakuも10個づつ入ることになります。

実際のコーディング時は、xxxxは意味不明なので使用しないほうが良いでしょう。
kosuuは紛らわしいので、これも使用しないほうがよいでしょう。
単価、個数をまとめたものなので、tankoとか、
単価、個数のデータがあるという意味で、dataとかにすればよいかと思います。
    • good
    • 1
この回答へのお礼

ありがとうございました。
 再度書き込みました。

お礼日時:2015/04/28 04:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!