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

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

如何?

最佳答案

你就快到了。 personInfo 是一个指针,因此您应该这样对待它:

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

关于c - 将指向结构的指针的值获取到另一个指向结构的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12992561/

相关文章:

c - 在c中使用链表队列

php - 保存到一张表还是创建多个表?

php - 如何构建 cms 的用户权限

c - 如何解决c警告:pointer from integer without a cast?

C将一个int分配给一个函数指针

C 所有值都随指针改变

c - 在c中打印字符串指针

c - C 中是否有可能有一个函数将这两个结构作为参数?

c - 提前退出 C 语言的整个程序?

调用EVP_Digest() 还是直接调用MD4? Openssl - 不同的时间