1. 구조체란?
구조체란 연관성이 있는 서로 다른 자료형을 하나의 집합으로 묶어 새롭게 정의한 사용자 정의 자료형이다.
2. 구조체는 언제, 왜 필요할까?
구조체는 성적 자료와 같이 학번, 이름, 점수 등 과 같이 다른 자료형을 하나의 집합으로 만드는 상황에서 매우 유용하다. 구조체를 사용하지 않는다면 다음과 같이 선언 하게 된다
int hakbun;
char name[10];
int kor, eng, mat, total;
float avg;
위와 같이 선언 할텐데 막약에 학생이 1명이 아니라 여러명일 경우 어떻게 선언해야 할까?
int hakbun1;
char name1[10];
int kor1, eng1;
int hakbun2;
char name2[10];
int kor2, eng2;
3. 구조체의 사용방법
-구조체의 형식은 다음과같다.
struct 구조체이름{
자료형 멤버명_1;
자료형 멤버명_2;
………
자료형 멤버명_n;
}; //구조체선언에서는 마지막에 꼭 세미콜론(;)을 써야한다.
-위를 참고해서 성적자료를 선언하면 다음과 같다.
struct sungjuk{
int hakbun;
char name[10];
int kor, eng;
};
-그렇다면 구조체를 선언했으니 구조체 변수선언 방법을 알아보자.
형식
struct 구조체이름 변수명_1, 변수명_2, …;
또는
struct 구조체이름{
자료형 멤버명_n;
}변수명_1, 변수명_2;
성적자료 선언
struct sungjuk student1, student2, …;
또는
struct sungjuk{
자료형 멤버명_n;
}student1, student2;
-이제 구조체변수 선언도 했으니 구조체를 초기화 해보자
구조체변수의 멤버 값을 참조할때는 ' . ' 점을 사용한다.
student1.hakbun = 1;
student1.name= "홍길동";
student1.kor = 92;
student1.eng = 96;
student2.hakbun = 2;
student2.name= "심청이";
student2.kor = 75;
student2.eng = 100;
또는
struct sungjuk student1={1, "홍길동", 92, 96};
struct sungjuk student2={2, "심청이", 75, 100};
또는
struct sungjuk student[2]={{1, "홍길동", 92, 96},
{2, "심청이", 75, 100}};
-위 예제를 간단하게 합치면 다음과 같다.
struct sungjuk{
int hakbun;
char name[10];
int kor, eng;
}student1={1, "홍길동", 92, 96}, student2={2, "심청이", 75, 100};
'C언어 > 보고서' 카테고리의 다른 글
C언어 :: 연결리스트 ( Linked List ), 링크드리스트 (0) | 2015.05.13 |
---|---|
C언어 :: 구조체 더 알아보기 (0) | 2015.05.13 |
C 언어 :: 함수호출 Call by Reference (0) | 2015.04.15 |
C언어 :: malloc 함수를 이용한 동적할당 (1) | 2015.04.13 |
C언어 :: 배열의 확장 2차원 배열 !! (0) | 2015.04.12 |
WRITTEN BY