티스토리 뷰
💥 구조체
- 하나 이상의 서로 다른 종류의 변수들을 묶어서 새로운 데이터 타입을 정의하는 것
💥 구조체를 사용하는 이유
- 연관된 변수들을 하나로 묶어서 관리함으로써 데이터 관리에 유용하다.
- 데이터 양(변수의 갯수)이 많아지면 구조체가 유리하다.
ex) 학생 정보 관리 시스템이라고 가정했을 때
- 이름, 나이, 성별 등의 정보들은 모두 변수로 선언.
- 각각의 변수를 별도로 관리하면 연관성을 알 수 없다.
- 학생 수가 10명 이내로 적으면 괜찮지만, 100명 1000명으로 늘어나면 변수의 관리가 힘들어진다.
- 학생 한 명을 그룹으로 지정하여 이름, 나이, 성별 등의 정보들을 그룹으로 묶는다.
💥 구조체의 기본 형태(학생 정보)
struct student
{
char name[10];
int age;
int height;
};
- struct 키워드는 구조체라는 데이터타입을 의미한다
- student는 내가 만든 구조체의 이름이다.(사용자가 정의한 새로운 데이터 타입)
- name, age, height는 구조체 멤버이다.
💥 구조체 멤버에 접근하기
- 구조체 변수를 통해 구조체 멤버의 값을 참조해야 한다.
- 멤버에 접근 시 .(점)을 사용하는데, 이를 직접 접근이라고 한다.
💥 구조체 실습해보기
#include <stdio.h>
#include <string.h>
struct student
{
char name[10];
int age;
int height;
}st1;
int main()
{
strcpy(st1.name, "홍길동");
st1.age = 20;
st1.height = 170;
printf("이름 : %s, 나이 : %d, 키 : %d\n", st1.name, st1.age, st1.height);
return 0;
}
#include <string.h> 는,
문자열을 다루는 라이브러리(함수)들이 들어가있는데, strcpy 사용을 위해서 따로 기재해주었다.
strcpy는 문자열을 복사할 때 사용한다.
결과값도 원하는대로 잘 들어간 걸 볼 수 있다.
'웹 개발 공부하기' 카테고리의 다른 글
[01.09] 동적 메모리 할당 (0) | 2025.01.12 |
---|---|
[01.09] 공용체, enum (1) | 2025.01.12 |
[01.09] 함수 포인터 (1) | 2025.01.12 |
[01.10] 자바스크립트 말고 타입스크립트🙄 (1) | 2025.01.11 |
[01.08] 가장 이해안되는 포인터💥 (0) | 2025.01.11 |