70 likes | 271 Views
C 프로그래밍 언어. 7 장 . 편리한 구조체 정보통신공학부 박기현. 7.1 구조체란 ? (P270). main () { char *name; /* 이름을 보관 * / int id; /* 학번을 보관 * / int grade; /* 성적을 보관 * / name = "Hong, Kil Dong"; id = 123; grade = 90;
E N D
C 프로그래밍 언어 7장. 편리한 구조체 정보통신공학부 박기현
7.1 구조체란?(P270) main () { char *name; /* 이름을 보관 */ int id; /* 학번을 보관 */ int grade; /* 성적을 보관 */ name = "Hong, Kil Dong"; id = 123; grade = 90; printf ("%d[%s]: %d\n", id, name, grade); } (결과) 123[Hong, Kil Dong]: 90
7.2 선언과 초기화 – 선언 (P272) main () { struct grade_t { char *name; int id; int grade; }; struct grade_t data; data.name = "Hong, Kil Dong"; data.id = 123; data.grade = 90; printf ("%d[%s]: %d\n", data.id, data.name, data.grade); } (결과) 123[Hong, Kil Dong]: 90
7.2 선언과 초기화 – 초기화 (P274) main () { struct grade_t { char *name; int id; int grade; }; struct grade_t data = {"Hong, Kil Dong", 123, 90}; printf ("%d[%s]: %d\n", data.id, data.name, data.grade); } (결과) 123[Hong, Kil Dong]: 90
7.2 선언과 초기화 – 예제 (P276) struct grade_t { char *name; int id; int grade; }; out (struct grade_t in) { printf ("%d[%s]: %d\n", in.id, in.name, in.grade); } main () { struct grade_t data1 = {"Hong, Kil Dong", 123, 90}; struct grade_t data2; data2.name = "Jang, Kil San"; data2.id = 124; data2.grade = data1.grade; out (data1); out (data2); }
7.3 포인터의 활용 – 포인터 변수 (P278) struct grade_t { char *name; int id; int grade; }; main () { struct grade_t data; struct grade_t *p = &data; data.name = "Hong, Kil Dong"; p->id = 123; p->grade = 90; printf ("%d[%s]: %d\n", data.id, data.name, data.grade); } (결과) 123[Hong, Kil Dong]: 90
7.3 포인터의 활용 – malloc()(P280) struct grade_t { char *name; int id; int grade; }; main () { struct grade_t *p; p = (struct grade_t *)malloc (sizeof (struct grade_t)); p->name = "Hong, Kil Dong"; p->id = 123; p->grade = 90; printf ("%d[%s]: %d\n", p->id, p->name, p->grade); printf ("p = 0x%x\n", p); }