본문으로 바로가기

구조체의 정의 및 사용

구조체를 사용하면 다양한 자료형을 갖는 변수들을 하나로 묶어 정의하고, 이렇게 정의된 형태를 새로운 자료형 처럼 사용할 수 있습니다. 문제 상황에 따라 서로 다른 자료형들을 묶음 단위로 처리하는 것이 편리한 경우 구조체를 사용하여 데이터를 저장하고 쉽게 다룰 수 있습니다.

 

//구조체 선언
struct point //struct 구조체이름
{
	int x; //자료형 변수1
    	int y; //자료형 변수 2
};  //구조체 정의 마지막에는 세미콜론을 붙입니다.


//구조체 변수 사용
int main(){
    point p, q; //구조체 변수를 선언
    p.x = 3;
    p.y = 5;
    q.x = 4;
    q.y = 1; 
    
    printf("%d , %d : %d, %d", p.x, p.y, q.x, q.y); 
    //출력결과: (3 , 5 : 4 , 1) 
}

구조체를 선언하면, 그러한 구조를 갖는 구조체 변수를 선언할 수 있고, 그 구조체 변수의 각 요소에 접근해 읽고 쓰기 위해서는 dot( . ) 연산자를 사용합니다.

 

구조체 배열의 사용

//구조체 선언 (형태 지정)
struct point //struct 구조체이름
{
	int x; //자료형 변수1
    	int y; //자료형 변수 2
};  //구조체 정의 마지막에는 세미콜론을 붙입니다.


//구조체 배열의 사용
int main(){
    point p[5]; // p[0].x , p[0].y, p[1].x, p[1].y, ··· p[4].x, p[4].y 의 10개의 저장 공간이 생성됩니다.
}

구조체 형태를 미리 정의해두었다면, 일반적인 변수와 마찬가지로 구조체 형태의 배열을 사용할 수 있습니다.