연습장

C++ 기초 본문

언리얼 개발자

C++ 기초

도다람 2022. 7. 4. 23:36

변수:  변할 수 있는 수

상수: 변할 수 없는 수

 

정수형: 소수부가 없는 수

실수형: 소수부가 있는 수 

음의 정수, 0, 양의 정수

short(2바이트), int(4바이트), long(8바이트), long long(8바이트)

 

작은 문자열>작은 따옴표('')

큰 문자열> 큰 따옴표("")

 

문자형 자료형: char

bool형 자료형: 0(false) 혹은 1(true)

 

데이터형 변환

1. 특정 데이터형의 변수에 다른 데이터형의 값을 대입했을 때

2. 수식에 데이터형을 혼합하여 사용했을 때

3. 함수에 매개변수를 전달할 때

 

산술연산자

+: 합

-: 차

*: 곱

/: 나누기

>>: 몫

%: 나머지

 

  

 

 

 

 

 

사용자 입력과 string

strlen 함수: 문자열의 길이를 반환하는 함수 <cstring>

sizeof 함수: 변수의 바이트의 크기를 반환하는 함수

 

cin >> name1;

cin 함수: 사용자가 입력한 것을 오른쪽(name1)에 저장하는 함수

*>>: 데이터의 흐름

 

string 함수: 배열에 배열을 통째로 넣을 수 있는 함수, 배열의 사이즈를 선언하지 않아도 됨

 

★구조체

배열: 같은 데이터형의 집합

구조체: 다른 데이터형이 허용되는 데이터의 집합

struct Mystruct;

    string name;

    string position;

    float height;

    float weight;

}

;

구조체도 배열로 선언할 수 있음

 

공용체와 열거체

공용체(union): 서로 다른 데이터형을 한 번에 한가지만 보관할 수 있음 / 구조체와 비슷

 

union Myunion

{

    int intVal;

    long longWal;

    float floatWal;

};

 

열거체(enum): 기호 상수를 만드는 것에 대한 또다른 방법

 

enum spectrum { red, orange, yellow, green, blue, violet, indigo };

1. spectrum을 새로운 데이터형 이름으로 만든다

2. 다양한 수를 0에서부터 7까지 정수 값을 나타내는 기호 상수로 만든다

 

 

★★포인터와 메모리 해제

-c++ 객체지향 프로그래밍의 특징: 컴파일 시간이 아닌 코드가 실행돼서 돌아가는 시간에 어떠한 결정을 내릴 수 있음

 

-배열 생성

재래적 절차적 프로그래밍: 배열의 크기가 미리 결정되어야 함

객체지향 절차적 프로그래밍: 배열의 크기를 실행 시간에 결정할 수 있음

 

-포인터: 사용할 주소에 이름을 붙인다

포인터의 이름이 주소를 나타냄

간접값 연산자, 간접 참조 연산자 *

 

int *a; // c 스타일

int* b; // c++ 스타일

int* c, d; //c는 포인터 변수, d는 int형 변수로 선언됨

 

-new 연산자

어떤 데이터형을 원하는지 알려주면

그에 맞는 알맞은 크기의 메모리 블록을 찾아내어 주소를 리턴함

 

int* pointer = new int;

 

 

&a: a의 주소값

 

delete 연산자

사용한 메모리를 다시 메모리 폴로 환수

환수된 메모리는 프로그램의 다른 부분이 다시 사용하도록 반환

 

int* ps = new int;

delete ps; 

 

1. new로 대입하지 않은 메모리는 delete로 해제 불가

2. 같은 메모리 블록을 연달아 두번 연속 delete로 해제 불가

3. new[]로 메모리를 대입할 경우 delete[]로 해제

4. 대괄호를 사용하지 않았다면 delete도 대괄호 사용X

 

동적 구조체 생성

temp* ps = new temp;

 

 

반복문

for (int i=0; i<5; i++) {

      cout << i << "n번째입니다." << endl;

}

 

1. 반복문에 사용할 카운터의 값을 초기화

2. 반복문을 진행할 것인지 '조건 검사'

3. 반복문 몸체를 수행

4. 카운터의 값을 변화

 

 

증가, 감소 연산자와 관계표현식

증가 연산자, 감소 연산자

int a= 10;

a++ : 10 

++a : 11

둘 다 출력값은 11임

 

관계표현식

<=

>

>=

== : 같다

!= : 같지 않다

 

 

Comments