私はこのコードに問題があります。私は、配列内にさまざまな個人情報を持つプログラムをコーディングしたいと思います。そして、私は15個の配列をメモリ(malloc)の1つの場所に設定する必要があります。 また、プログラムは、リクエスト(angestellter [0 - 14])に応じて一人の個人情報を出力(printf)する必要があります。私はrecive構造体の配列とmalloc [C]
コードエラーは次のとおりです。
gcc ANGDB.c ANGDB.c: In function ‘print_angestellter’: ANGDB.c:14:18: error: subscripted value is neither array nor pointer nor vector nu = angestellter[x].nummer; ^ ANGDB.c:15:18: error: subscripted value is neither array nor pointer nor vector vn = angestellter[x].vorname; ^ ANGDB.c:16:18: error: subscripted value is neither array nor pointer nor vector nn = angestellter[x].nachname; ^ ANGDB.c: In function ‘main’: ANGDB.c:25:13: error: subscripted value is neither array nor pointer nor vector angestellter[0] -> nummer = 1; ^ ANGDB.c:26:13: error: subscripted value is neither array nor pointer nor vector angestellter[0] -> vorname = "George"; ^ ANGDB.c:27:13: error: subscripted value is neither array nor pointer nor vector angestellter[0] -> nachname = "Washington";
これは私のコードです:
#include <stdio.h>
#include <stdlib.h>
struct angestellter{
int nummer;
char vorname[50];
char nachname[50];
}angestellter;
void print_angestellter(int x){
int nu;
char vn[50];
char nn[50];
nu = angestellter[x].nummer;
vn = angestellter[x].vorname;
nn = angestellter[x].nachname;
printf("%d, %s, %s\n", nu, vn, nn);
}
int main(){
struct angestellter **db = malloc(sizeof(angestellter)*15);
angestellter[0] -> nummer = 1;
angestellter[0] -> vorname = "George";
angestellter[0] -> nachname = "Washington";
print_angestellter(0);
}
'angestellter'は' struct angestellter'型の変数です。あなたはそれに下付き文字を使うことはできません。 –
メモリを割り当ててdbという名前の変数に割り当てるようです。あなたはangestellterの代わりにdbを使うべきですか? – bruceg