[C++] 배열, 구조체

GDORI·2024년 8월 18일
0

C++

목록 보기
2/3

배열

중복된 내용의 변수를 몇 십개, 몇 백개 선언하는 것은 비효율적이다.
이럴때 사용할 수 있는 것이 배열이다.

// 데이터형 변수명[배열의 크기];
// 예시
int num[10]; 

위 코드의 경우 하나의 변수에 10개의 값을 입력할 수 있게 된다.
배열 안에 있는 각각의 값들, 변수는 요소라고 하며 개별 접근을 하기 위해서는 배열 이름에 [] (하위 연산자)를 붙여 인덱스를 넣어주면 된다.

int num[10];
num[0] = 12;
num[1] = 10;
std::cout << num[0] << num[1] << endl; // 1210

인덱스의 경우 0부터 시작하기 때문에 크기를 10으로 지정한 경우 0~9로 접근이 가능하다.

int num[10] = {};
std::cout << num[0] << endl; // 0

배열을 선언할 때 공란으로 초기화 해주게 되면,
각 요소에 0이 할당된다.

int num[] = {1,2,3,4,5};
std::cout << sizeof(num) / sizeof(num[0]) << endl; // 5

배열의 크기를 정하지 않고 요소를 추가하면 요소의 수만큼 크기가 할당된다.

구조체

/* struct 구조체명
{
	변수1;
    변수2;
    변수3;
};

구조체명 구조체를 담을 변수명;
*/
// 예시
struct Human
{
	short id;
	string name;
	int age;

};

Human gdori = { 123,"Gdori",24 };

cout << gdori.id << gdori.name << endl;
//123Gdori

구조체는 사용자 정의 자료형으로 struct 키워드를 이용하여 미리 선언하고, 구조체 타입 변수를 선언해야 한다.

값을 넣는 방법은 위 코드와 같이 빠른 초기화를 해도 되고, .(멤버 선택연산자)를 이용하여 하나씩 넣어줘도 된다.
값을 불러올때도 .을 이용하여 불러온다.


struct Human
{
	short id;
	string name;
	int age;
};

struct meeting
{
	Human captain;
	int numOfHuman;
};

Human gdori = { 123,"Gdori",24 };
meeting good;
good.captain = gdori;
good.numOfHuman = 10;
cout << good.captain.name << endl;
//Gdori

구조체는 중첩하여 사용할 수 있다.
접근할 때에는 .(멤버 선택연산자)를 2번 쓰면 된다.

profile
하루 최소 1시간이라도 공부하자..

0개의 댓글