C언어의 기초 문법

구조체의 뜻과 종류; struct와 typedef struct

나만의 변수 형태

 구조체는 직접 변수의 형태를 만들 수 있는 문법을 말합니다. 구조체는 2가지 종류가 있는데 그것은 struct와 typedef struct입니다.

struct student_info{
    int number;
    char name[20];
    int age;
}

int main(){
    struct student_info s = {1, "Hong gill dong", 12};
    s.number = 10;
}

이건 struct 구문의 예시입니다. struct는 조금 불편하게 main함수에서 변수를 선언할 때 struct를 써줘야 합니다. struct 구문 안에 보시면 변수들이 있습니다. 그러니까 student_info 형태의 변수는 이 3개의 변수를 한 번에 내장하고 있다는 것입니다. 그래서 이 변수의 값을 바꿀 때도 전체 변수 s 안에 있는 변수 중 number이 10이라고 정하려면 s.number = 10;이라고 써줘야 합니다.


자 이제 typedef struct를 알아보겠습니다.

typedef struct {
    int num;
    char grade;
}student;

int main(){
    student s = {1, 'A'};
}

여기에서 typedef struct와 struct 구문의 차이점이 나옵니다. typedef struct는 struct를 쓰지 않고 그냥 형태만 쓰면 되거든요. 대신 typedef struct는 조금 다른 점이 형태가 중괄호 마지막 부분에 나옵니다. 이 점 꼭 아셔야 합니다^^

댓글

댓글 본문
버전 관리
Joel
현재 버전
선택 버전
graphittie 자세히 보기