cpp59 15. 동적 할당과 배열의 차이 동적 할당과 배열은 일차원보다 다차원에서 차이점을 쉽게 구분할 수 있다. 일차원은 차이가 거의 없다. 결론부터 말하면 일차원에서 동적 할당과 배열은 한가지 부분을 제외하고는 차이가 없다. 동적 할당은 선언 할 때 상수/변수 상관없이 생성할 수 있지만 배열은 상수만 된다. ▼ 일차원에서 동적 할당과 배열의 코드 #include #include int main() { const int arrMax = 5; // INIT STATIC ARRAY int iArr[arrMax] = { 0,1,2,3,4 }; // PRINT STATIC ARRAY printf("== STATIC ARRAY ==\n"); for (int i = 0; i < arrMax; i++) { printf(" iArr[%d] : %d\n", .. 2021. 1. 18. 0. SDL2 개발 환경 설정하기 SDL2 개발 라이브러리 내려받기 SDL은 Simple DirectMedia Layer의 약자로 밸브 게임 社의 주도 아래 유지 보수하고 있는 다목적 멀티미디어 라이브러리다. C언어로 작성되어 있어서 사실상 거의 모든 플랫폼으로 빌드할 수 있고 그래픽뿐 아니라 오디오, 파일 시스템 등 게임 개발에 필요한 기능들을 모두 제공한다. SDL1에서 SDL2로 업데이트되면서 상대적으로 무거워졌다는 의견이 많았으나 지금 시대에서는 SDL2도 가벼운 라이브러리에 들어간다. SDL2를 이용하면 간단하게 그래픽이 들어간 작업물을 제작할 수 있다. 그걸 이용해서 코드로 작성한 알고리즘을 시각적으로 이해하는 것을 목표로 한다. 이제 SDL2를 설치해보자. ▼ SDL2 공식 홈페이지 www.libsdl.org/download.. 2021. 1. 17. 1. 역순(Reverse) 역순(Reverse)의 개념 역순(Reverse)은 앞에서 n번째 값과 뒤에서 n번째 값을 차례로 교환한다. 두 값을 교환하기 때문에 배열 길이의 절반의 순환문만 돌면 된다. 만약 배열 길이만큼 돈다면 역순의 역순이라 다시 본래의 순서대로 된다. ▼앞에서 n번째와 뒤에서 n번째를 교환한다. C99 ▼ 관련 개념 Loop & Pointer & Call By Address ▼ 구현 코드 void Swap(int* lhs, int* rhs) { int _temp = *lhs; *lhs = *rhs; *rhs = _temp; } void Reverse(int iArr[], int length) { for (int i = 0; i < (length / 2); i++) { Swap(&iArr[i], &iArr[le.. 2021. 1. 17. 4. 삼각형 움직이기 이번엔 아주 간단한 애니메이션을 적용시켜본다. 쉐이더 역시 하나의 프로그램이기 때문에 외부에서 변수를 받아서 변환할 수 있는 것을 연습할 수 있다. 삼각형을 움직이는데 필요한 변수 선언 ▼ 코드 //--------------------------------------------- GLuint VAO, VBO, shader, uniformXMove; // 방향값(왼쪽, 오른쪽) bool direction = true; // 삼각형의 차이값 float triOffset = 0.0f; // 삼각형의 최대 차이값 float triMaxOffset = 1.0f; // 삼각형의 변화값 float triIncrement = 0.01f; //-------------------------------------------.. 2021. 1. 17. 이전 1 ··· 6 7 8 9 10 11 12 ··· 15 다음