반응형

앞서 구조체에 대한 설명이 있다.

https://ansan-survivor.tistory.com/1331

 

[C언어] 구조체(struct) 에 대해서, C언어 구조체란? 구조체 사용방법, 구조체 선언과 동시에 초기화

구조체(struct)란?  - 여러 자료형(int, double 등)을 하나로 묶어서 표현할 수 있도록 함.  - struct [자료형] 형태. 즉, 사용자 정의 자료형을 만듦.  - 구조체를 만들면 여러 자료형을 담고 있는 구조

ansan-survivor.tistory.com

 

이 구조체에 대한 인스턴스를 변수 하나가 아닌 배열로 선언이 가능하다.

아래는 arr[3] 으로 배열 3개를 만들어 각각 구조체 인스턴스가 하나씩 들어간 형태이다.

#define _CRT_SECURE_NO_WARNINGS // visual studio 보안 경고로 인한 컴파일 에러 방지
#include <stdio.h>

struct point
{
	int xpos;
	int ypos;
};

int main()
{
	// point구조체의 인스턴스로 배열선언
	struct point arr[3];
	int i = 0;

	for (i=0;i<3;i++)
	{
		printf("점 좌표 입력:");
		scanf("%d %d", &arr[i].xpos, &arr[i].ypos);
	}

	for (i = 0; i < 3; i++)
	{
		printf("[%d, %d]", arr[i].xpos, arr[i].ypos);
	}

	return 0;
}
반응형

결과를 보면 arr[0]에 xpos, ypos 그리고 나머지 arr[1], arr[2]에도 다 들어가있다.

그것을 결과로 출력한 것.

 

 

여러 타입(Type) 자료형이 들어가있는 구조체(Struct)의 선언 및 바로 초기화

#include <stdio.h>

struct person
{
	char name[20];
	char phoneNum[20];
	int age;
};

int main()
{
	// 구조체 배열 인스턴스를 선언과 동시에 초기화 시키기 (초기값 부여)
	struct person arr[3] = {
		{"jack", "010-1234-4323", 31},
		{"tom", "010-4321-4323", 21},
		{"tom", "010-1646-4323", 45}
	};

	int i;

	for (i=0;i<3;i++)
	{
		printf("%s %s %d \n", arr[i].name, arr[i].phoneNum, arr[i].age);
	}

	return 0;
}

 

 

 

반응형

+ Recent posts