티스토리 뷰

웹 개발 공부하기

[01.09] 구조체

jooya-1009 2025. 1. 12. 14:04

💥 구조체

 - 하나 이상의 서로 다른 종류의 변수들을 묶어서 새로운 데이터 타입을 정의하는 것

💥 구조체를 사용하는 이유

 - 연관된 변수들을 하나로 묶어서 관리함으로써 데이터 관리에 유용하다.

 - 데이터 양(변수의 갯수)이 많아지면 구조체가 유리하다.

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는  문자열을 복사할 때 사용한다.

결과값도 원하는대로 잘 들어간 걸 볼 수 있다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함