구조체란?
객체지향설계의 클래스의 모체이다. 즉, 클래스가 구조체를 모티브로 만들어진 것!
구조체는 뭐냐면, 여러 자료형들을 하나로 묶어서, 하나로 다루는 것!
배열은, 하나의 자료형들을 묶어서 사용하는 것.
예를 들어, 지도의 어떠한 지점을 나타낼 때, 이를 코드로 구현하려면
x좌표, y좌표, 지점의 이름, 그곳의 내용 등.. 을 나타내면 좋음.
이걸 구조체로 나타낸다면?
struct 지점{
int x, y;
char[] name;
}
이렇게 나타낼 수 있다.
Struct 하나를 선언하면, 그 내용인 x, y, name을 담을 공간을 미리 확보해놓아 거기에 그 내용을 입력하면 된다.
사용하는 법은,
struct student{
int number;
char name[10];
double grade;
};
int main(void){
struct student s;
s.number = 2022;
strcpy(s.name, "김다빈");
s.grade = 4.5;
return 0;
}
//또는,
int main(void){
struct student s;
printf("input student number : ");
scanf("%d", &s.number);
printf("input student name : ");
scanf("%s", s.name);
printf("input student grade : ");
scanf("%lf", &s.grade);
}
이렇게 사용할 수 있다.
name은 char형이기에 이미 포인터로 나타내져있기에 &를 쓰지 않아야 하고,
grade는 double형이기에 입력받을 때 lf로 입력받아야 한다.
이 구조체를 배열로 만들어서 쓰면 좋음.
이렇게 구조체를 사용하는 이유는?
- 프로그램상 관리가 편해짐.
- 서버의 DB의 정보와 매칭해 가져오기 편함.
참고 : 동빈나 유튜브
'AI > c언어' 카테고리의 다른 글
동적 메모리 할당, malloc (0) | 2024.06.17 |
---|---|
파일 입출력 (2) | 2024.06.16 |
명령 프롬프트(cmd)에서 파일 실행하기 (0) | 2024.05.24 |