오리는 오늘도 꽥꽥

 

 

     

 

Struct

구조체(structure)는 한 가지 이상의 변수를 묶어서 새로운 자료형을 정의하는 도구다.

흔히 쓰는 int, double, char 말고 자기가 직접 커스텀한 자료형이라고 볼 수 있다.

 

구조체를 선언하는 방법은 다음과 같다.

// 구조체 선언
struct 자료형이름{
	...
};

int main(){
	// 구조체 변수 선언
    struct 자료형이름 변수명;
}

 

Example

#include <stdio.h>
#include <string.h>

struct student{
    char * name;
    int age;
    double weight;
};

int main(){

    // 구조체 변수 선언 1
    struct student student1;
    strcpy(student1.name, "김철수");
    student1.age = 15;
    student1.weight = 64.2;

    // 구조체 변수 선언 2 (선언 및 초기화)
    struct student student2 = {"박영수", 14, 65.3};

    printf("학생1 이름 : %s, 나이 : %d, 몸무게 : %f\n", student1.name, student1.age, student1.weight);
    printf("학생2 이름 : %s, 나이 : %d, 몸무게 : %f\n", student2.name, student2.age, student2.weight);

    return 0;
}

/*
출력
학생1 이름 : 김철수, 나이 : 15, 몸무게 : 64.200000
학생2 이름 : 박영수, 나이 : 14, 몸무게 : 65.300000
*/

유형 1과 같이

변수를 선언한 후, "."을 사용해 구조체 맴버 값에 접근하여 값을 변경할 수 있고,

 

유형 2와 같이 "{}"를 이용해 선언과 동시에 값을 바로 초기화하는 방법도 있다. 

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band