프로그래밍 언어 81

[게임 프로그래머 입문 올인원] 객체지향 : 객체지향 개론 (27강)

A. 객체지향 개론 1. 절차 지향적 프로그래밍 a. C 언어와 함수 c언어 = 절차 지향 프로그래밍 언어 👉 절차 지향 언어에서 가장 중요한건 게임을 진행시키는 요소가 '함수' 라는 것 코드가 방대해지면 나중에 공용으로 함수를 사용하지 못하게 되는 경우가 생기고 언제부턴가는 함수 만으론 관리가 어려워진다 2. 객체 지향적 프로그래밍, Class a. Class의 기초 위와 같은 문제점 때문에 객체 지향 프로그램이 생성됨 객체 지향으로 주로 Class를 사용한다 HTML 삽입 미리보기할 수 없는 소스 #include using namespace std; //어떠한 영역도 차지 X class Knight { //멤버 함수 영역은 code 영역에 들어감 public: void Attack() { cout H..

C++ 문자열 총정리

A. C++ 문자열 개요 1. C++ 문자열 a. C++ 문자열이란? 🌟 메모리에 저장된 일련의 연속된 문자(character)들의 집합 💙 c++에서는 2가지 스타일로 생성 가능 1. c언어 스타일의 문자열 2. string 클래스를 이용한 문자열 2. C언어 스타일의 문자열 a. C 스타일의 문자열 선언 문자열 상수(string constant) : 큰따옴표("")를 사용해 표현되는 문자열 👉 상수인 이유는 이름 X, 내용 변경 X HTML 삽입 미리보기할 수 없는 소스 const int SIZE = 20; char address[SIZE] = "hello";//보이지 않지만 끝에 0 이 있음 b. C스타일의 문자열 특징 문자형 배열을 선언하면 이 배열이 곧 문자열 변수가 됨 C언어 스타일의 문자열 ..

[자료형(data type)] C++ 파생형 포인터 총정리

더보기 A. 포인터 1. 포인터의 개요 a. 주소값의 이해 🌟 데이터의 주소값이란 해당 데이터가 저장된 메모리의 시작 주소를 의미 C언어에서는 주소값을 1바이트 크기의 메모리 공간으로 나누어 표현 b. 포인터란? 🌟 메모리의 주소값을 저장하는 변수, 포인터 변수라고도 부름 포인터와 연관되어 사용되는 연산자는 & 주소연산자와 * 참조 연산자가 있음 2. 포인터 연산자 a. 주소(번지) 연산자 🌟 변수의 이름 앞에 사용하여, 해당 변수의 주소값을 반환 '&'기호는 앰퍼샌드(ampersand)라고 읽음 b. 참조 연산자 🌟 포인터의 이름이나 주소 앞에 사용해 포인터에 저장된 주소에 저장되어 있는 값 반환 '*' 기호는 역참조 연산자로 에스크리터(asterisk operator)라고도 불림 💙 * 연산자의 다양..

[자료형(data type)] C++ 파생형 배열 총정리

더보기 A. 배열 1. 1차원 배열 a. 배열이란? 🌟 같은 타입의 변수들로 이루어진 유한 집합 배열을 구성하는 각각의 값을 배열 요소라고 하며, 위치를 가리키는 숫자는 인덱스라고 함 인덱스는 0부터 시작 (양수만 가능) 같은 종류의 데이터를 많이 다뤄야 하는 경우 사용하는 가장 기본적인 자료구조 b. 1차원 배열 HTML 삽입 미리보기할 수 없는 소스 타입 배열이름[배열길이]; //타입 : 배열 요소로 들어가는 변수의 타입 명시 //배열 이름 : 배열이 선언된 후 배열로 접근하기 위해 사용 //배열의 길이 : 배열 요소의 갯수(생략하면 자동으로 설정됨) 💥 선언만 하고 초기화하지 않으면 쓰레기 값이 저장됨 (주의!) HTML 삽입 미리보기할 수 없는 소스 #include using namespace s..

[게임 프로그래머 입문 올인원] 포인터와 배열 : 문자열, 참조 (22, 23강)

C. 문자열 1. C스타일의 문자열 표현 a. 문자열과 배열 옛날에는 아래와 같이 문자열의 배열로 문자를 표현했음 하지만 0을 만나야 문자열의 끝으로 인식하기 때문에 아래와 같이 작성해야 올바르게 출력됨 b. const 위치에 따른 의미 c. 문자열과 데이터 2. 문자열 함수 a. 공간 할당과 문자열 크기 문자열 공간을 크게 할당해도 문자열의 길이는 실제 들어가있는 문자열 갯수만 유효함 b. 가장 많이 사용하는 함수 3개 문자열 길이 : strlen 문자 복사 : strcpy 문자 연결 : strcat HTML 삽입 미리보기할 수 없는 소스 #include using namespace std; int main() { const int BUF_SIZE = 100; char a[BUF_SIZE] = "Hel..

[게임 프로그래머 입문 올인원] 포인터와 배열 : 포인터 (20, 21강)

B. 포인터 1. 포인터 기초 a. 포인터의 정의 🌟 주소값는 담는 바구니 타입 : 주소값을 타고 가면 무엇이 있는지 명시함 원본 데이터를 수정할 수 있다 b. 포인터의 크기 프로그램 실행 환경과 관련이 있음 64bit에선 무조건 8byte c. 잘못 작성된 타입의 값은? 아래 이미지와 같이 int 타입의 데이터 주소를 float 형의 포인터로 받게 된다면 오류가 난다 데이터 처리 시 int 타입 데이터 + 주소 + 100 (2진수로 표현)으로 설정되어있던 hp 변수의 데이터가 float 타입으로 변환되면서 float 타입 데이터로 치환되며 2진수로 표현되어있던 100의 값에 손상이 가게 된다 위의 예제는 int와 float 타입의 데이터방 크기가 같아 큰 문제는 일어나지 않지만 만일 이와같이 데이터 범..

[게임 프로그래머 입문 올인원] 포인터와 배열 : 배열 기초 (18강)

A. 배열 1. 배열 기초 a. 배열을 사용하는 경우 자료구조 : 데이터를 어떻게 관리할까에 대한 학문 알고리즘 : 그 자료구조를 어떻게 가공할까에 대한 학문 주로 맵을 저장할 때 사용함! b. 배열의 선언 및 초기화 c. 배열 사용시 주의점 배열의 길이보다 값을 더 넣었을 때는 오류가 난다 2. 배열 실습 👉 여기에 따로 작성함 [게임 프로그래머 입문 올인원] 포인터와 배열 : 배열 실습 (18강) A. 배열 실습 1. 맵 생성하기 a. 출처 : https://www.inflearn.com/course/%EA%B2%8C%EC%9E%84-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8-%EC%9E%85%EB%AC%B8-%EC%98%AC%EC%9D%B8%EC%9B%90-r..

[자료형(data type)] C++ 파생형 함수 총정리 2

더보기 B. C++ 함수 1. 참조자(reference) a. 참조자란? 특정 변수의 실제 이름 대신 참조자라는 기능이 추가 b. 참조자의 선언 HTML 삽입 미리보기할 수 없는 소스 int 변수이름; // 변수의 선언 int& 참조자이름 = 변수이름; // 참조자 선언 🤍 문법 설명 & 연산자 : 주소 연산자가 아닌 타입을 식별하기 위해 사용하는 식별자로 사용 즉, int형 변수에 대한 참조를 의미하며 참조자는 대상 변수와 같은 메모리 위치를 참조하게 됨 🧡 주의사항 참조자의 타입 = 대상이 되는 변수 참조자는 선언과 동시에 초기화 한번 초기화되면 참조하는 대상을 변경할 수 없음 HTML 삽입 미리보기할 수 없는 소스 #include using namespace std; int main(void) { ..

[자료형(data type)] C++ 파생형 함수 총정리 1

더보기 A. 함수 1. 함수 개요 a. 함수란? 🌟 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 프로그램 코드의 집합 b. 함수의 종류 1) 표준 함수 2) 사용자 정의 함수 c. 함수를 사용하는 이유 1) 반복적인 프로그래밍을 피할 수 있기 때문 2) 모듈화로 가독성이 좋아짐 3) 손쉽게 유지보수가 가능 d. 함수의 규칙 함수의 규칙정확히 명시된 규칙은 없지만, 하나의 기능을 하나의 함수로 만들어야 함 e. 함수의 정의 🤍 문법 설명 ✔ 반환 자료형 : 함수가 모든 작업을 마치고 반환하는 데이터의 타입을 명시 ✔ 함수 이름 : 함수를 호출하기 위한 이름을 명시 ✔ 매개변수 목록(parameters) : 함수 호출 시에 전달되는 인수의 값을 저장할 변수들을 명시 함수의 인수(매개변수)는 ..

[게임 프로그래머 입문 올인원] 함수와 디버깅 : 파일 분할 (16강)

A. 파일 분할 1. 파일 분할의 필요성 a. 파일 분할이 필요한 이유 당연히 파일이 방대해지는 이유도 있지만 공동 작업을 할 때도 필요하다 b. 선언 부재의 오류 2. 파일 분할하기 a.새 파일 생성 꿀팁 (클래스) 1) 소스파일 오른쪽 클릭 후 새 항목 클릭 2) C++에서는 헤더/c++파일 두개 짝을 맞춰서 작성해야하는데 3) 클래스로 생성하면 두개가 동시에 생성된다 b. 파일 분할하기 1) 각 Helper.h와 Helper.cpp 파일에 코드를 나눠주고 2) 메인 코드에서 실행 3) 위 컴파일 과정이 설명되어있음 https://modoocode.com/319 모두의 코드 씹어먹는 C++ - 작성일 : 2020-10-20 이 글은 17122 번 읽혔습니다. 에 대해서 다루어 보겠습니다. 여태까지 C..