0

..次に、配列に、またはそれらの行に沿って。私は何をすべきかについてとても混乱しています。

構造体は次のとおりです。

typedef struct {
  char name[30];
} PersonType;

typedef struct {
  PersonType *personInfo;
} StudentType;

typedef struct {
  StudentType students[30];
} GraduateType;

PersonType の名前を取得したい。main() で、このようなもの:

GraduateType *gptr = (GraduateType *) calloc(3, sizeof(GraduateType));
// Assume here that info has been scanf()'d
int i, j;
for(i = 0; i < 3; i++) {
  for(j = 0; j < 2; j++) {
    if(strcmp(gptr[i].students[j].personInfo.name, "asd")) { // <- This
      // blah
    }
  }
}

どのように?

4

1 に答える 1

1

あなたはほとんどそこにいました。personInfoはポインタなので、次のように扱う必要があります。

gptr[i].students[j].personInfo->name
于 2012-10-20T20:53:38.337 に答える