**Autonomous driving tech./*C++ 19

[C++] 09_공용체( union ) 와 열거체( enum )

공용체( union )서로 다른 데이터형을 한 번에 한 가지만 보관할 수 있는 데이터 형식(구조체는 int형과 double형을 한꺼번에 보관할 수 있지만, 공용체는 int형이나 double형 중에서 한번에 어느 하나만 보관할 수 있음) 구조체( struct )와 거의 동일하지만 모든 멤버 변수가 하나의 메모리 공간을 공유한다는 점이 다르다.즉, 공용체( union )은 내부에 여러가지 타입의 멤버 변수를 선언하지만 실제 사용할 때에는 하나의 멤버 변수만 사용할 수 있다. 특징한 번에 하나의 값만 보관할 수 있으므로, 가장 큰 멤버를 보관할 수 있을 만큼의 공간이 필요하다.(따라서 공용체의 크기는 가장 큰 멤버의 크기가 됨)멤버 변수끼리 같은 메모리 공간을 공유하기 때문에 각 멤버들의 메모리 시작 주소가 ..

[C++] 08_공용체( union )와 열거체

공용체( union )서로 다른 데이터형을 한 번에 한 가지만 보관할 수 있는 데이터 형식(구조체는 int형과 double형을 한꺼번에 보관할 수 있지만, 공용체는 int형이나 double형 중에서 한번에 어느 하나만 보관할 수 있음) 구조체( struct )와 거의 동일하지만 모든 멤버 변수가 하나의 메모리 공간을 공유한다는 점이 다르다.즉, 공용체( union )은 내부에 여러가지 타입의 멤버 변수를 선언하지만 실제 사용할 때에는 하나의 멤버 변수만 사용할 수 있다. 특징한 번에 하나의 값만 보관할 수 있으므로, 가장 큰 멤버를 보관할 수 있을 만큼의 공간이 필요하다.(따라서 공용체의 크기는 가장 큰 멤버의 크기가 됨)멤버 변수끼리 같은 메모리 공간을 공유하기 때문에 각 멤버들의 메모리 시작 주소가 ..

[C++] 07_구조체( struct )

1. 구조체구조체와 배열의 다른 점이라고 하면 배열은 같은 데이터형의 집합이지만 구조체는 다른 데이터형이 허용되는 데이터의집합이라고 할 수 있다. 어떤 객체를 표현할때 1가지의 변수 만으로는 부족한 경우가 있다. 예를 들어 학생이란 객체를 표현하려한다면이름, 나이, 학교, 학년, 학번, 전공 등등의 다양한 특징에 대한 변수가 필요하게 된다.학생이 1명뿐이라면 이렇게 6개 변수를 일일이 선언하여 사용하여도 상관없지만 학생수가 많아 진다면 학생이 추가될때마다 일일이 새롭게 6개 변수를 추가해야 한다. 이런 점을 극복하기 위해 C++에서는 여러 개별 변수를 그룹화 하여 하나의 데이터 유형으로 생성할 수 있는 구조체를 제공한다. 배열이 같은 타입의 변수 집합이라고 한다면, 구조체는 다양한 타입의 변수 집합을 하..

[C++] 06_char형 배열과 string 배열의 차이점

#include using namespace std;int main() {    //c++에서 문자열을 다루는 방법 중 하나인 string    /*    배열을 다른 배열에 통째로 대입할 수 없다.    >>> string에서는 가능    */   char char1[20];   char char2[20] = "jauar";   string str1;   string str2 = "panda"; // char1 = char2; // 안됨   str1 = str2; // 됨  cout str1 endl; >>> panda // 결과값  return 0;} char형 배열은 다른 배열에다가 값을 그대로 넣을 수 없지만,  string형 배열은 가능하다. char형과 string 배열의 차이점은 배열사이..

[C++] 05_산술연산자와 auto

#include using namespace std;int main() {    // + - * / %    /*    + : 두 개의 피연산자의 합을 계산합니다.    - : 첫 번째 피연산자에서 두 번째 피연산자의 차를 계산합니다.    * : 두 개의 피연산자의 곱을 계산합니다.    / : 첫 번째 피연산자에서 두 번째 피연산자를 나눕니다.    >> 두 개의 피연산자가 모두 정수이면 결과값은 '몫'입니다.    % : 첫 번째 피연산자를 두 번째 피연산자로 나누어 나머지를 구합니다.    예를 들어서 19를 6으로 나누게 되면 그 값은 1입니다.    부동 소수점(실수) 사용할 수 없습니다.    */    int a = 10;    int b = 3;    int c = 5;    int d ..

[C++] 04_const 제한자와 데이터형 변환

const (상수) 제한자상수는 선언시 > const 자료형 상수이름 = 값 순으로 나타낸다.바뀔필요가 없거나 바뀌어서는 안되는 수를 사용한다.#include using namespace std;int main() {  //원의 넓이를 구하는 프로그램  // 반지름 * 반지름 * 파이  const float PIE = 3.1415926535;  int r = 3;  float s = r * r * PIE;  //1. 바뀔 필요가 없는 수  //2. 바뀌어서는 안되는 수  //상수  cout s endl;  return 0;} 강제 데이터형 변환#include using namespace std;int main() {    //데이터형 변환    /*    1. 특정 데이터형의 변수에 다른 데이터형의 ..

[C++] 03_문자형 자료형과 bool형 자료형

1. 작은 따옴표 사용  - 작은 따옴표로 한 글자씩 입력2. 큰 따옴표 사용  - 큰 따옴표로 한꺼번에 입력  - 배열 크기 = [ 문자개수 +1개 (NULL 문자 위치) ] 를 입력하게됨 ( 큰 따옴표로 묶게 된다면 '/0' (널값) 을 포함한다. ) char을 나타내는 방법방법2와 같이 하게 되면 문자열 끝에 NULL 문자가 자동으로 들어간다.C++ 규칙에 따라 문자열 마지막에는 NULL문자( =  '\0'  )가 있어야 된다는 것을 기억하자. // char prac[3] = {'L','E','E'}  // 오류 발생, 이유: NULL문자를 넣을 공간이 없으므로// char prac[4] = {'L','E','E}   // 정상 코드 그렇다면 아래는 어떨까?LEE 문자 이후에도 이상한 문자가 붙었다..

[C++] 02_배열

배열( Array )배열이란 데이터형이 같은 여러개의 값을 연속적으로 저장할 수 있는 데이터 구조이다.배열은 선언 명령문을 사용하여 생성한다. 배열 선언 명령문에는 다음과 같은 세가지를 선언한다. 1. 각 원소에 저장될 값의 데이터형2. 배열의 이름3. 배열 원소의 개수배열 초기화 예시초기화란? 변수에서도 동일한 의미로 사용되는데, 선언과 대입을 함께하는 것을 말함#includeusing namespace std;int main(){ int prac_array[10] = {1, 2, 3}; //'prac_aray' 라는 이름으로 크기 10인 배열 형성 cout  배열의 일반적인 형식typeName arrayName[arraySize]; 배열 관련 내용1. 배열 원소에 대입한 값들을 콤마로 구..

[C++] 01_변수 선언과 규칙

변수와 상수란?변수: 변할 수 있는 수상수: 변할 수 없는 수 변수에서 신경써야 할 3가지 요소1. 변수의 자료형2. 변수의 이름  1) 숫자로 시작할 수 없음  2) C++에서 사용하고 있는 키워드는 사용할 수 없음  3) white space( =엔터,탭,빈공간을 의미 )를 사용할 수 없음3. 변수가 어디에 저장되는가 ( 컴파일러가 알아서 지정해줌 )? #includeusing namespace std;int main() { int a; //선언 a = 7; //대입 int b = 3; //초기화 a = 5; //다시 대입 b = 10; //다시 대입 //변수는 사용되기 이전에 정의되어야 함 cout  위 내용은 '인프런..