구조체
구조체는 반복되는 변수들을 편하게 관리하기 위해서 사용합니다.
변수들의 공통 요소를 찾아 구조체로 묶어 사용하며, 이렇게 만들어진 구조체는 재사용의 목적이 되기도 합니다.
<사용법>
방법①
struct 구조체명 { //구조체
데이터타입 변수명1;
데이터타입 변수명2;
};
void main() { //메인함수
struct 구조체명 구조체변수;
구조체변수.변수명1 = 값1;
구조체변수.변수명2 = 값2;
}
Ex) 방법① : x, y 좌표 출력하기
struct structEx{ //구조체
int x; //데이터타입 변수명1;
int y; //데이터타입 변수면2;
};
void main() { //메인 함수
struct structEx sE;
sE.x = 10; // "구조체변수.멤버변수" 형식으로 초기화
sE.y = 20;
printf("x : %d, y : %d\n", sE.x, sE.y);
}
방법②
struct 구조체명 { //구조체
데이터타입 변수명1;
데이터타입 변수명2;
};
void main() {
struct 구조체명 구조체변수 = {구조체변수.변수명1 = 값1, 구조체변수.변수명2 = 값2};
}
Ex) 방법② : A, B 점수와 총합 출력하기
struct structEx{ //구조체
int scoreA; //데이터타입 변수명1;
int scoreB; //데이터타입 변수면2;
int sumAB;
};
void main() { //메인 함수
struct structEx sE = {sE.scoreA = 90, sE.scoreB = 100};
sE.sumAB = sE.scoreA + sE.scoreB;
printf("scoreA점수 : %d, scoreB점수 : %d\n", sE.scoreA, sE.scoreB);
printf("점수 총합 : %d\n", sE.sumAB);
}
방법③
struct 구조체명 { //구조체
데이터타입 변수명1;
데이터타입 변수명2;
};
void main() {
struct 구조체명 구조체변수 = {값1, 값2};
}
Ex) 방법③ : 과일 가격과 평균 가격 구하기
struct structEx {
int priceA;
int priceB;
double priceAvg;
};
void main() {
struct structEx sE = {1000, 1500};
printf("과일A : %d원, 과일B : %d원\n", sE.priceA, sE.priceB);
sE.priceAvg = (sE.priceA + sE.priceB) / 2.0 ;
printf("과일 값 평균 : %.0lf원\n", sE.priceAvg);
}
#typedef 사용하기
=> 타입을 정의한다는 의미
typedef struct structex {
데이터타입 변수명1;
데이터타입 변수명2;
}STRUCTEX;
void main() {
STRUCTEX 구조체변수;
구조체변수.변수명1 = 값1;
구조체변수.변수명2 = 값2;
...
}
* "struct structex"를 "STRUCTEX"로 재정의하여 사용할 수 있습니다.
다음 글에서는 구조체 예제로 연습을 더 해보겠습니다.
감사합니다!
2021.08.07
'C언어' 카테고리의 다른 글
[자료구조 - C언어] 정렬(Sort) - Bubble, Insertion, Selection (0) | 2021.08.30 |
---|---|
[C언어] 로또 번호 뽑기 (0) | 2021.08.17 |
[C언어] 구조체(2) - 예제 (0) | 2021.08.08 |
[C언어] 1차원 배열 (0) | 2021.08.03 |
[C언어] 교통카드, 카페 주문하기 예제 (0) | 2021.08.02 |