구조체란?
- 이미 정의된 서로 다른 자료형들을 구성 요소로 하여 새로운 자료형을 만드는 것
- 배열을 사용하면 동일한 자료형 만을 관리할 수 있지만 구조체를 사용하면 서로 다른 자료형둘울 한 묶음으로 관리할 수 있습니다!
Man형 구조체를 선언하고 변수를 만들어서 멤버에 접근하기
#include <stdio.h>
struct Man{ //구조체 선언
char name[10]; //멤버
int age; //멤버
double weight; //멤버
};
int main(void)
{
struct Man gildong, sunhee,comso[160];
gildong.age=20; //일반 구조체 변수의 멤버 참조
sunhee.weight=52.5;
comso[0].age=25;
printf("%d %f %d\n",
gildong.age,sunhee.weight,comso[0].age);
return 0;
}
구조체 변수의 초기화와 멤버 값 대입하기
#include <stdio.h>
struct score {
char hakbun[10];
char name[10];
int kor, eng, tot;
double ave;
};
int main(void)
{
struct score h = { "202345678","훈이",80,90 }; //초기화
h.tot = h.kor + h.eng;
h.ave = h.tot / 2.0;
printf("%s %s %d %d %d %.2f\n",
h.hakbun, h.name, h.kor, h.eng, h.tot, h.ave);
return 0;//202345678 하니 80 90 170 85.00
}
구조체 변수들의 대입 연산하기
#include <stdio.h>
typedef struct score {
char hakbun[10];
char name[10];
int kor, eng, tot;
double ave;
}SCORE;
int main(void)
{
SCORE j, h = { "202345678", "하니",80,90 };
h.tot = h.kor + h.eng;
j = h;
printf("%s %s %d %d %d\n", h.hakbun, h.name, h.kor, h.eng, h.tot);
printf("%s %s %d %d %d\n", j.hakbun, j.name, j.kor, j.eng, j.tot);
return 0;
}
객체란?
- 자료와 이를 처리하는 동작인 연산(함수)을 하나로 뮦어 만든 요소이다.
- 자료를 표현하는 변수 만을 가지는 것이 아닌 그 객체가 무엇을 할 수 있는가를 정의한 함수도 구성한다.
- 객체는 자신의 상태와 행동, 이름을 가지고 있는 것이다.
클래스란?
- 각 객체의 속성을 정의하는 수단
- 모든 객체는 사용 전에 객체의 속성을 기술하는 클래스를 정의한 후 이 클래스의 형으로 선언되어야 한다.
- 객체들의 공통적인 특성을 모아 놓은 것이다.
위 사진을 예를 들어 설명하면
- 책을 객체들의 공통적인 특성을 모아 놓은 "책" 이라고 설정 하고 밑에 3가지의 객체는 각각 "그림책", "전공책", "소설"로 설정했다
- "책" 이라는 클래스 안에 자신의 상태와 행동, 이름을 갖는 "그림책", "전공책", "소설" 이라는 객체가 있다는 것을 설명하는 사진이다.
블로그 쓰는건 생각보다 재미있다. 내가 정리한 내용은 대부분 내가 이해한 내용을 바탕으로 쓰는 것 이기에 틀린게 분명 많을 것 이다 그래서 조금 무서운 것 같다.
모든 실습 코드는 C++프로그래밍(21-2학기)한성현교수 강의 내용 변형 및 요약 하였습니다.