将指向结构的指针的值获取到另一个指向结构的指针

时间:2012-10-20 20:52:10

标签: c pointers structure

..然后到一个数组,或沿着这些行。我对我应该做的事情感到困惑。

以下是结构:

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
    }
  }
}

如何?

1 个答案:

答案 0 :(得分:1)

你快到了。 personInfo是一个指针,所以你应该这样对待它:

gptr[i].students[j].personInfo->name