1. 구조체의 개요
- 배열과 구조체의 차이
- 배열 : 자료의 형과 크기가 동일한 변수의 모임
- 구조체 : 자료의 종류가 다른 변수의 모임
- 구조체의 정의
- 구조체를 정의한다는 것 : int나 char 같은 자료형을 하나 만드는 것을 의미
- 'structure(구조)'의 약어인 'struct'를 사용하여 정의
struct sawon {
char name[10];
char jikwi[10];
int pay;
};
//struct : 구조체를 정의하는 예약어
//sawon : 구조체의 이름으로 사용자가 임의로 정함, 이렇게 정의하면 sawon이라는 자료형이 하나 생긴 것
//멤버 : 일반 변수를 선언하는 것과 동일하게 필요한 필드들을 임의로 선언하면 됨 (name[10], jikwi[10], pay)
- 구조체 변수의 선언
- 정수형 변수를 사용하려면 'int a'와 같이 선언한 후 사용하는 것처럼 구조체 변수를 사용하려면 먼저 정의한 구조체에 대한 변수를 선언해야함
struct sawon ansan, *seoul;
//struct : 구조체 변수를 선언하는 예약어
//sawon ansan : 정의한 구조체 sawon 자료형으로 변수를 선언하는데 변수의 이름은 ansan이라는 의미, 사용자가 임의로 정하면 됨
//*seoul : 구조체의 포인터 변수, 'struct sawon *seoul'과 같이 별도로 지정할 수도 있음
- 구조체 멤버의 지정
- 모든 요소들이 개별적인 이름을 가지고 있으므로 구조체 멤버를 지정할 때는 구조체 변수와 함께 멤버 이름을 지정해야 함
- 구조체 멤버의 지정 예시
- '.'의 의한 지정 : 구조체 일반 변수를 이용해 구조체 멤버를 지정할 때
- ansan.name = "김한국";
- '->'에 의한 지정 : 구조체 포인터 변수를 이용해 구조체 멤버를 지정할 때
- seoul->jikwi = "과장";
- 구조체의 포인터 변수는 일반 포인터 변수처럼 *를 사용하여 멤버를 지정할 수도 있음
- (*ansan).pay = 5000000;
- '.'의 의한 지정 : 구조체 일반 변수를 이용해 구조체 멤버를 지정할 때
'Study > EIP' 카테고리의 다른 글
[정보처리기사 필기] 응용 SW 기초 기술 활용 - 119. 주요 스케줄링 알고리즘 (0) | 2025.01.16 |
---|---|
[정보처리기사 필기] 응용 SW 기초 기술 활용 - 118. 스케줄링 (0) | 2025.01.16 |
[정보처리기사 필기] 프로그래밍 언어 활용 - 104. 포인터 (0) | 2025.01.15 |
[정보처리기사 필기] 프로그래밍 언어 활용 - 103. 배열과 문자열 (0) | 2025.01.15 |
[정보처리기사 필기] 프로그래밍 언어 활용 - 101. 제어문 (0) | 2025.01.15 |