본문 바로가기

전체 글

(29)
C,C++] 구조체(struct) 집계 데이터 유형: 여러 개별 변수를 함께 그룹화하는 데이터 유형. 구조체(struct): 집계 데이터 유형 중 하나로 하나 이상의 변수를 그룹 지어서 새로운 자료형을 정의하는 것. 이때 같은 변수만 사용하거나 여러 변수를 섞어서도 사용가능하다. 구조체 안에서 멤버(필드)와 멤버함수를 정의할 수 있다. struct PersonalInfo { //일반적으로 구조체 이름은 대문자로 시작. int SSD = 0101011234567; //기본값 지정 가능. string name; string address; }; struct GymMemberInfo { PersonalInfo p; //중첩된 구조체 int height; int weight; void printGymInfo() { //멤버함수 정의 가능. cout
알고리즘] 퀵 정렬(Quick Sort) void quickSort(int* data, int start, int end) { if (start >= end) return; int pivot = start; int left = start + 1, right = end, temp; while (left right로 엇갈린다면 끝내게 while (left = data[pivot]) { right--; } if (left > right) { //꼬였을 경우(큰 값 인덱스>작은 값 인덱스) 작은값과 key값을 swap한다 //right와 pivot이 바뀐 이유는 pivot이 배열의 맨 앞 인덱스라는 가정 하에서 //right는 작은 값, left는 큰 값을 나타낸다. //pivot, right,left순이라고 할때 pivot과 left를 swap하면 ..
C++] Stream I/O function(read, gcount, write) Unformatted I/O ▶ 입력 istream 멤버 함수 read() read(char array, int count) -char array(문자 배열) -int count(가져올 바이트 수) istream 멤버 함수 gcount() 최근에 입력스트림에서 읽은 바이트 수를 리턴한다('\n'도 개수에 포함) ▶ 출력 ostream 맴버 함수 write() write(char array, int count) - char array(문자 배열) - int count(출력할 바이 수)
C++] Stream I/O function(get, getline, ignore,put) Formatted I/O ▶ 입력 istream 멤버 함수, get() argument에 따라서 수행하는 일이 다르다. ⓐ no argument - 스트림으로부터 입력된 한 문자(공백도 가능)를 리턴한다. - 만약 end-of-file을 만났을 경우 EOF를 리턴한다. ⓑ with a character-reference argument - character reference argument에 스트림으로부터 입력된 한 문자를 저장하고 istream 객체의 참조를 리턴한다. ⓒ with three arguments(a character array, a size limit, a delimiter) - 스트림으로부터 입력된 char를 읽고 char array에 저장하고 default delimiter은 '\n'..
C++] Stream I/O Stream I/O in C++ ⓐ C++ 은 type-safe Input/Ouput을 사용한다. type-safe란 쉽게 말해 각각의 I/O operation이 데이터 타입에 민감한 것을 말한다. 따라서 정의되지 않은 데이터 타입에 대해 연산을 수행할 경우, 컴파일 에러가 발생한다. ⓑ C++ I/O 연산자는 device 독립적으로, 메모리상에서 정보를 주고 받는다. I/O format ⓐ formatted I/O(high-level) : byte들은 그룹화되고 string, int와 같은 타입으로 변환된다. 그래서 사용자는 >>,> operator의 output을 void* 로 캐스팅한다. 만약 true 조건에서는, >>는 non-null pointer 타입으로, false 조건에서는 null poi..
C] 표준 입출력 방법 정리(scanf,printf,fgets,getchar,fgetc 등) 헤더파일 1. scanf(), printf() 보다 쉬운 설명을 위해 scanf()는 printf() 이후에 설명하겠다. int printf(const char* restrict format, ...): 서식화된 출력을 지원. 출력할 데이터를 어떤 서식에 맞춰 출력할지 format specifier을 통해 직접 지정 가능(서식 지원자는 아래 참고.) ⓐ %와 타입을 나타내는 영문자 사이에 숫자를 추가하여 필드의 폭을 설정할 수 있다. ⓑ 숫자 앞에 '-' 기호를 붙이면 왼쪽 정렬로 변경할 수 있다.(오른쪽 정렬이 기본) ⓒ 숫자 앞에 '+' 기호를 붙이면 수의 부호에 맞추어 출력할 수 있다. printf("ⓐ 예시: '%3d'\n", 1); printf("ⓑ 예시: '%-3d'\n", 1); printf..
C++] 빠른 입출력 방법(endl,'\n',cin.tie(NULL), ios_base::sync_with_stdio(false)) C - scanf/printf 그대로 사용 C++ - 1. endl 대신 '\n' 버퍼(buffer): 임시 메모리 공간으로, 묶어서 한 번에 전달하므로 전송시간이 적게 걸리고 사용자의 수정이 가능하다. 버퍼가 가득 차면 내용물을 목적지로 보내는 완전 버퍼링 방식((fully buffered)과 입력된 문자 중 개행 문자가 나타날 때마다 버퍼 안의 내용을 목적지로 보내는 방식(line-buffered)가 있다. endl: 개행문자 출력버퍼로 전송하기 + 출력버퍼 비우기 \n : 개행문자 출력버퍼에 전송하기 이때, 출력버퍼를 비우는 작업은 매우 느리므로 화면에 바로 보여지는 것이 중요하지 않은 경우에는 '\n'을 사용한다. 2. cin.tie(NULL) cin과 cout의 묶음을 풀어 주어서 cin으로 읽..
Unity] 루비의 모험 5. 월드 인터랙션 - 이동 제한 1) Rigidbody2D 컴포넌트를 보유한 게임 오브젝트에 대해서만 물리 연산을 수행한다. 2) Rigidbody 컴포넌트 - 3D용 3) 기본값, 중력 비활성화하기 Rigidbody2D 컴포넌트의 중력Gravity Scale Property의 값을 0으로 설정한다. +) 탑다운(톱다운): 하늘에서 땅으로 수직으로 내려다보는 시점으로 주변의 상황을 전체를 한눈에 볼 수 있는 시점 4) 씬에 배치된 단일 프리팹 인스턴스를 변경함으로써 프리팹을 통해 생성된 또 다른 게임 오브젝트를 오버라이드할 수 있다. 만약 프리팹의 값을 변경한다고 해서, 오버라이드한 단일 프리팹 인스턴스의 값까지 변경되지 않는다. 게임 오브젝트의 인스펙터 헤더>Overrides로 변경사항과 변경 사항에서 다시 되돌아갈지(Revert A..