본문 바로가기

C++13

[C++ 독학] 구조체 <C++ 의 기초> 06 구조체 자료들의 집합! 구조체는 서로 연관성 있는 자료들을 묶어 데이터를 구조화(structuring) 하는 것이다. 구조체는 기존에 정의되어 있던 자료형(int, double, string 등등,,,)을 이용해 새로운 구조체를 만들게 되는데 이것을 '구조체를 정의한다'라고 한다. 구조체 정의 먼저 우리가 자동차에 관한 정보를 작성해보다 정보는 자동차의 이름, 최고속도, 연비, 가격 등이 있다고 가정 한다. 아마 기존의 우리는 다음과 같이 코드를 작성했을 것이다. string car1_name; int car1_speed; int car1_fuel_efficiency; int car1_price; 끔찍하게도 자동차의 개수가 늘어갈수록 더 많은 n*4개의 변수를 생성하게 될 것이다. 이럴 때 사용할 수 있.. 2022. 6. 6.
[C++ 독학] 포인터 <C++ 의 기초> 05 포인터 포인터(pointer)는 변수나 자료의 주소 값을 저장하는 변수이다. 일반적인 변수(int, char등) 는 정수, 문자와 같은 자료를 저장하는 것과 같이 포인터는 어떤 변수의 주소 값을 저장하는 변수라고 생각한다. 포인터는 다음과 같이 타입과 변수이름 사이에 '*' 아스트릭(asterisk mark)을 추가해 선언한다. int *ptr; 포인터의 값으로는 변수의 주소를 넘겨주어야 하는데 변수의 주소는 '&' 앰 퍼센트(ampersand) 기호를 사용해서 접근한다. int var = 10; int *ptr = &var; // 변수 var의 주소값 참조 int arr[5]; int *arrPtr = arr; // 배열 arr의 첫번째 주소 참조 만약 포인터 변수를 출력하면 참조한 변수의 주소값이 나.. 2022. 4. 5.
[C++ 독학] 배열 <C++기초> 04 배열 배열은 같은 타입의 변수를 나열해 놓은 것입니다. 회사 직원 10명의 아이디를 저장해야 된다고 생각해보면 다음과 같이 변수 10개를 생성해야 합니다. int id1; int id2; int id3; ... int id10; 이는 굉장히 귀찮은 일입니다. 만약 id가 100개, 1000개가 된다면 변수를 1000개나 생성해야 하는 고역을 겪을 수도 있습니다. 우리는 이럴 때 배열을 사용할 수 있습니다. 배열의 선언은 다음과 같습니다. int myArr[10]; 변수와 같이 생성하다가 뒤에 대괄호[] 안에 숫자를 넣은 형태입니다. 직관적으로 봤을 때 10개의 변수를 나열할 수 있도록 배열을 생성해 주었습니다. 이런 배열을 초기화는 다음과 같이 할 수 있습니다. int myArr[10] = {10,20,.. 2022. 3. 31.
[C++ 독학] 제어문 <C++기초> 03 코드의 흐름을 제어하는 제어문! 조건 제어문 우선 조건제어문의 예시를 보며 구체적으로 살펴보겠습니다. 예를들어 'a'라는 변수의 값이 2이상 일 때 에만 실행돼야하는 코드가 있다고 생각해봅시다. 우리는 먼저 a가 2라는 것을 확인하고 맞을 때 실행시키는 코드와 아닐 때 실행시키는 코드로 나눠야됩니다. if-else if-else문 if문은 조건이 참(ture)일 경우와 거짓(false)일 경우로 나뉜다. if(조건){ 코드(1) } else{ 코드(2) } if문은 이런식으로 사용되게 됩니다. 이 때 조건은 'a가 2이상 일 때'를 말하는 것이고 참일 경우에 if 블록 안에 있는 코드(1)를 실행시킵니다. 여기서 블록이란 if문 뒤에 중괄호 '{' 로 시작해서 중괄호 '}' 로 끝나는 공간을 말합니다. .. 2022. 3. 17.