• ベストアンサー

配列について

配列を使って以下の図のような事をやりたいのですが C言語についてはまだまだ未熟なので教えて頂きたいです。 (サイトなどを回ったのですが良く分かりません) 何をしたいか↓ aという配列に、初期に名前・評価A~D・総合評価項目をいれておく ようにするにはどうしたらいいのか。(配列は1次元) 図 配列a |-------------------------------------| |名前|評価A|評価B|評価C|評価D|総合評価| ↑はこれは出力した場合の結果(printf) printf("|%s|%s|%s|%s|%s|%s|",&a[0], &a[1],&a[2],&a[3],&a[4],&a[5],&a[5]) 自分の考え char a[6]={"従業員名","評価A","評価B","評価C","評価D","総合評価"} ''で囲んだものは文字数を表示させる時に使用 ""で囲んだものは文字列で表示させる時に使用 ※間違っていたら指摘お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

まず、aの前に*が抜けています。 ポインタなので char *a[6] ですね。 こうするとpintfのとき&は不要。 printf("|%s|%s|%s|%s|%s|%s|", a[0],a[1], (省略)

skyforce
質問者

お礼

回答ありがとうございます。 char *a[6]でやって見たところうまく行きました。 ポインターを使えばうまく行くんですね。 ポインターを使ってやって見ます。

その他の回答 (1)

  • asuncion
  • ベストアンサー率33% (2127/6290)
回答No.2

配列の中に、 "従業員名" "評価A" "評価B" "評価C" "評価D" "評価E" "総合評価" という文字列を入れたいのですね? 従業員名のところに"鈴木一郎"とかいうような具体的な名前ではなく。 いずれにしても、 > char a[6]={"従業員名","評価A","評価B","評価C","評価D","総合評価"} この定義は正しくありません。a[6]で定義するのは6バイト分だけです。 ポインタの配列か、いわゆる2次元配列を使う必要があります。 いわゆる入門者用のしっかりした本を読んで、 基礎知識を身につけることをおすすめします。

skyforce
質問者

お礼

回答ありがとうございます。 char a[6]={"従業員名","評価A","評価B","評価C","評価D","総合評価"} ↑では、定義が正しくないですね・・・。 また基礎知識からやり直して見ます。

関連するQ&A