访问结构中的结构

时间:2014-11-26 20:50:57

标签: c struct

如果我有类似的话:

struct foo {
    struct bar {
         char name[8];
         int temp;
    } example[100];
};

如果我想得到name是什么,我怎么会这样说出数组中的第一个元素?

4 个答案:

答案 0 :(得分:2)

#include <stdio.h>

struct foo {
    struct bar {
         char name[8];
         int temp;
    } example[100];
};


int main(void) {
  struct foo my_foo;
  printf("%s\n", my_foo.example[0].name);
  return 0;
}

答案 1 :(得分:1)

我没有检查你的代码是否编译,但这可能是:

foo var;
var.example[0].name

答案 2 :(得分:1)

struct foo myfoo;
char * the_name;

/* initialize myfoo ... */

the_name = myfoo.example[0].name;

答案 3 :(得分:0)

struct foo var;
printf("name -- %s\n", var.example[0].name);

注意: 我建议你像这样缩写你的strcut:

typedef struct foo foo;
struct foo {
    struct bar {
         char name[8];
         int temp;
    } example[100];
};
像这样,你没有义务宣布你的vars:

struct foo var;

foo var;
祝你好运;