質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.38%

  • C

    2519questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C言語 構造体について

解決済

回答 1

投稿 2017/12/03 02:03

  • 評価
  • クリップ 0
  • VIEW 83

kakakaaka

score 11

動きません。
どうしたらよいですか?
教えてください。

#include <stdio.h>
#define N 10
#define swap(x,y) {int tmp = x; x = y; y = tmp;}

struct student {
  int num;
  char name[10];
  int score;
};


struct student St[] = {{1,"Ichi",90},
                       {2,"Ni",70},
                       {3,"San",80},
                       {4,"Yon",60},
                       {5,"Go",30},
                       {6,"Roku",40},
                       {7,"Nana",100},
                       {8,"Hati",20},
                       {9,"Kyuu",10},
                       {10,"Zyuu",50}};

void out (int St[]){
  int i;
  for(i=0; i<N; i++) printf("%d", St[i].score);
  putchar('\n');
}

int main(){
 out(St);
}

main.c: In function 'out':
main.c:25:40: error: request for member 'score' in something not a structure or union
   for(i=0; i<N; i++) printf("%d", St[i].score);
                                        ^
main.c: In function 'main':
main.c:30:6: warning: passing argument 1 of 'out' from incompatible pointer type [-Wincompatible-pointer-types]
  out(St);
      ^~
main.c:23:6: note: expected 'int *' but argument is of type 'struct student *'
 void out (int St[]){
      ^~~

exit status 1
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

0

関数out()の引数の型がint(の配列)になってます。

投稿 2017/12/03 02:11

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/12/03 02:38

    こういう場合型は何にしたらよいのでしょうか?

    キャンセル

  • 2017/12/03 02:45

    自分がどういったプログラムを作りたいのかがわかってないのでしょうか?
    out()関数は何をしようとする関数ですか?また、何に基づいて処理させようとしているのですか?
    構造体のところをもう少し掘り下げて調べてみましょう。

    キャンセル

  • 2017/12/03 02:56

    out()でscoreを出したいので int St[].scoreですか?

    キャンセル

  • 2017/12/03 03:09

    そのscoreはどこに属するデータでしょう。
    それと、構造体がどういったものかは理解できてます?

    まさに、質問者さんが扱いたいケースに則して構造体の説明をしているところがありましたので、ここの解説を見てみてください。
    http://www.isl.ne.jp/pcsp/beginC/C_Language_14.html

    キャンセル

  • 2017/12/03 04:14

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

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.38%

関連した質問

  • 解決済

    linux 処理時間の表示

    C言語でLinuxを使っています。メモリを確保したりするプログラムなのですが、以下のプログラムを修正して 、5秒間で何回の入れ替えを行えるかを計測できるようにしてもらいたいです。初

  • 解決済

    構造体のプログラム

    いつもお世話になっています。C言語初心者でただいま勉強中です。構造体について質問させていただきます。ファイルから構造体配列に読み込んで以下のように出力するプログラムを作りたいんです

  • 解決済

    準備された入力ファイルをもとに、合計、平均、偏差値を表示(合計点降順)させたプログラム作成

    レポート課題でわからない問題があります。 問題:入力ファイルmotofile.datを事前に用意し、出力ファイルresult.datを生成するC言語ソースプログラムファイルhen

  • 解決済

    シーザー暗号についての問題

    シーザー暗号についての質問です 大文字を3字ずらす小文字を5字ずらすというプログラムを作っています。 ぶち当たった壁が大文字は3字ずらすことは可能なのですが小文字を5字ずらすことが

  • 解決済

    char型の配列変数にchar型の変数を代入したい

    使用言語 C 環境 Visual Studio 2017 初めての質問です。 独学でプログラミングを始めたのですがわからないところがあり困っています。 char型の配列変数の使い方

  • 解決済

    java 配列を別クラスで受け取る方法

    キーボードから入力したテストの結果から、合計・平均・順位(バブルソート)分散・標準偏差を導出するプログラムを作っています。 具体的には 生徒数を入力 ↓ 生徒数の応じた点数を入力

  • 解決済

    C言語で住所録管理ソフトを作成しているが、CSVファイルのデータを構造体にコピーする方法が分からない

    CSVファイルの中身は1行ごとに「名前,電話番号,住所」が記述されていてそれぞれの情報を構造体にコピーする形です。 線形リストで各個人のデータを管理したいと思っています。 構造

  • 受付中

    プログラムを見やすく改良したい

    正常に動くプルグラムを見やすく改良したい。 具体的に教えていただければありがたいです。セグメンテーションフォルトでベスト7まで表示して停止します。173行あたりだと思うのですが、よ

同じタグがついた質問を見る

  • C

    2519questions

    C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。