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 을 내 려 서 구조 체 배열 이 어떻게 초기 화 되 고 사용 되 는 지 보 세 요.방문 해 주 셔 서 감사합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
c 언어 간단한 파일 r/w 조작 방법데이터의 입력과 출력은 거의 모든 C 언어 프로그램과 수반된다. 입력이란 원본에서 데이터를 얻는 것이다. 출력은 단말기에 데이터를 쓰는 것으로 이해할 수 있다.이곳의 원본은 키보드, 마우스, 하드디스크, 시디, 스캐...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.