C 언어의 구조 체 배열

C 언어의 구조 체 배열
1. 구조 체 배열 개념 2. 구조 체 배열 의 정의 와 초기 화 3. 구조 체 배열 의 인용
구조 체 배열 의 개념
요 소 는 구조 체 유형의 배열 을 구조 체 배열 이 라 고 부 르 는데 실제 응용 과정 에서 구조 체 배열 을 자주 사용 하여 같은 데이터 구 조 를 가 진 그룹 을 나타 낸다.
struct student{
    int xh;
    char *name;
    char *sex;
}stu[20];
          stu,  30   ,stu[0]--stu[29];
         struct student  

구조 체 배열 정의 및 초기 화
1: 구조 체 를 먼저 설명 하고 구조 체 배열 을 정의 합 니 다.
struct     {
        ;
};
struct         [  ] = {{     },...{     }};
struct         [  ] = {     1,...,     n};

2. 구조 체 를 설명 하 는 동시에 구조 체 배열 을 정의 합 니 다 (구조 체 이름 은 생략 할 수 있 습 니 다).
struct [    ]
{
        ;
}   [  ] ={{     }...{     }};  

구조 체 배열 의 참조
      [  ].   
                      ,         ,             
 :
    struct student{
        int  xh;
        char name[];
    }stu[4];
    strcpy(stu[0].name,"Tom");
    stu[1].xh = 1;

다음은 대응 하 는 구조 체 배열 의 실제 조작 코드 입 니 다.
#include
#include

//                      ,          
//          ,       strcpy       
struct address{
    char *country;
    char *city;
};

struct teacher{
    char *name;
    int age;
    struct address addr;
};

void out_teacher(struct teacher tea);

void out_all_teachers(struct teacher [],int num);

int main(int argc,char *argv[]){
    //        ,          
    struct teacher teacher_one = {"zhangsan",20,{"china","shanghai"}};
    struct teacher teacher_two = {"lisi",25,{"china","hefei"}};
    struct teacher teachers_one [] = {teacher_one,teacher_two};
    out_all_teachers(teachers_one,2);
    printf("-----------------------------
"
); // , struct teacher teachers_two [] = {{"wangwu",30,{"china","tianjin"}},{"zhaoliu",40,{"china","jiaozuo"}},{"tianqi",50,{"china","shenzhen"}}}; out_all_teachers(teachers_two,3); return 0; } void out_teacher(struct teacher tea){ printf("name:%s",tea.name); printf("age:%d
"
,tea.age); printf("country:%s
"
,tea.addr.country); printf("city:%s
"
,tea.addr.city); } void out_all_teachers(struct teacher teachers[],int num){ int i = 0; for(i = 0; i < num ; i++){ out_teacher(teachers[i]); printf("======================
"
); } }

코드 는 run 할 수 있 습 니 다. 필요 하 다 면 직접 run 을 내 려 서 구조 체 배열 이 어떻게 초기 화 되 고 사용 되 는 지 보 세 요.방문 해 주 셔 서 감사합니다.

좋은 웹페이지 즐겨찾기