내가 좋아하는 뭔가가있는 경우 : 나는 name
이 무엇인지 얻고 싶었다 경우구조체 안에 구조체에 액세스
struct foo {
struct bar {
char name[8];
int temp;
} example[100];
};
, 어떻게 내가 그렇게 위해 할 배열의 첫 번째 요소를 말할 것입니까?
내가 좋아하는 뭔가가있는 경우 : 나는 name
이 무엇인지 얻고 싶었다 경우구조체 안에 구조체에 액세스
struct foo {
struct bar {
char name[8];
int temp;
} example[100];
};
, 어떻게 내가 그렇게 위해 할 배열의 첫 번째 요소를 말할 것입니까?
#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;
}
여기에는 printf가 필요하지 않습니다. 문자열을 바로'puts'합니다. – ahcox
@ahcox :'printf ("% s \ n", my_foo.example [0] .name);'는'puts my_foo.example [0] .name);'. –
'printf (my_foo.example [0] .name);'작품도 –
struct foo myfoo;
char * the_name;
/* initialize myfoo ... */
the_name = myfoo.example[0].name;
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];
};
이처럼 바르를 선언 할 의무가되지 않습니다 :
struct foo var;
하지만
foo var;
행운을 빕니다;
오히려 "이름'**은 **"입니다. * 하나의'name'은 존재하지 않습니다. ** struct **의 구조체의 멤버입니다. (외부 구조체 내부에) ** 배열 **이 있습니다. 그래서, 당신이 * 접근하고자하는 * 이름을 말할 때까지는 도와 줄 수 없습니다 : P –
@ user3268401 답을 수락하는 것을 잊었습니까? – ahcox