프로그래밍 공부

서울게임아카데미 교육과정 6개월 C++ ~ DirectX2D 76

카테고리 설명
  • 문자열 형태로 포인터를 선언할 수 있다. 포인터 변수를 문장으로 선언하였을 경우를 알아보자. 위와같이 선언했다고 가정해보자. 문자열은 전부 배열형태로 이어지게 메모리에 생성이 되고 마지막에 '\0'이 붙게된다. 그리고 char*pstr은 ptrSting 의 p를 가리키게 된다. 배열과 다른점이 무엇일까? 배열은 다음값을 배열의 list[0], list[1]이런식으로 접근이 가능하다. 그러나, 포인터로 선언된 문장의 경우에는 이런식으로 접근을 할 수 없다. 접근하게되면, 이런식으로 나타나게 된다. 이유가 무엇일까? pstr은 포인터이지 배열이 아니기 때문이다. 포인터는 위치좌표를 나타낼 뿐, 배열처럼 접근방법을 제공하지 않기 때문에 접근하기 위해서는 배열처럼 접근이 아닌, ++나 --같이 좌표를 직접 지정..

  • stream = 한방향으로 흐르는 단방향 통신이다. 콘솔 입출력을 위한 스트림은 생성이 자동으로 생성되고 자동으로 소멸된다. 이것은 표준 입출력시스템 stdio.h 라고 한다. 따로 생성하지 않아도 OS에서 자동으로 해준다. buffer = 데이터 처리장치간의 처리속도 때문에 임시로 저장해놓았다가 출력한다. getchar = 버퍼를 비워준다. 한단어씩 리턴해준다. 이번에는 포인터를 알아보자. 포인터는 주소라고 생각하면된다. 메모리의 주소값을 이야기한다. 포인터 변수 = 메모리의 주소값을 저장하기 위한 변수 이다. 포인터는 * 을 표기하여 포인터를 선언해줄 수 있다. 밑 예시를 살펴보자. 배열의 이름또한 포인터를 사용한다. 이러한 예시를 밑에서 확인해보자. 여기서 데이터 포인터가 1씩 증가하는것이 각 바이..

  • 이번에는 전역변수에서의 함수가 어떤식으로 전역변수와 지역변수를 받는지 알아보자 local count 가 1이 되는것 을 알 수 있다. 지역변수가 1이 계속 선언됨 으로 선언될 때 마다 1이 한개 더해지고 1이 되고가 반복되어 local count가 1로 출력된다. 여기서 static 으로 선언하면 어떻게 되는지 보자. 위와 같이 나타남을 알 수 있다. static int 가 count가 데이터가 중첩됨을 알 수 있다. 즉, count가 전역변수 처럼 취급되어 데이터가 중첩됨을 볼 수 있다. static은 한번만 초기화를 (최초선언시에만 변형이 가능하다.) 유효범위는 선언한 위치에서만 동작한다. Memory structure ---------------------------------------------..

  • 로또생성기 만들기 로또 생성기를 만들어보자 먼저 로또번호를 생성하기 위해서는 무엇이 필요한지 나열한다.로또번호는 랜덤함수로 생성해야한다.보너스번호 가 존재한다면, 일반번호 와 보너스번호를 나누어 주어야 한다.모든 코드가 순환하며, 내가 입력한 번호가 랜덤 생성한 번호와 같은지 검사해야한다.예시를 보자.이렇게 작성할 수 있다.만약, 복권번호를 작은수 부터 나열한다고 가정하면, Sort함수를 사용해서 값들을 정렬해야 한다.재귀함수 를 사용한 파보나치 수열 재귀함수를 사용한 피보나치를 출력한다. 코드는 매우 간단하다. 예시를 보자.단 3줄만 들어가면 출력할 수 있다. 쉽게 이해가 가지 않는다면, 풀어서 이해해보자. 파보나치 수열의 5번째 수를 출력하려고 한다고 가정한다.파보나치 수열의 5번 째 수는 0 1 1..

  • 반복되는 제귀함수를 하나 더 살펴보자. 제귀함수를 사용하는 것 중에는 피보나치 수열이 있다. 이를 제귀함수로 바꾸어보자. 피보나치 수열이란, 0 ,1 ,1 , 2, 3, 5, 8, 13 이런식으로 전 수와 더해가며 나아가는 숫자 인데, 0, 1, 0+1, 1+1, 1+1+1, 1+1+1+1+1 이런식으로 전 수와 더하는 것을 피보나치 수열 이라고 한다. 이를 한번 코드로 만들어보자. 피보나치 수열을 출력한 코드이다. 이건 간단하게for문으로 반복시킨 코드이다. 이것을 제귀함수로 반복되게 만들 수 있는데, 밑과 같이 수정 할 수 있다. 이번에는 Array_sort를 찾아보자. 배열정렬인데, 배열을 내림차순, 오름차순으로 정렬해주는 것 을 이야기한다. 한번 알아보자. 배열정렬의 기본원리는 생각보다 엄청 간단..

  • int main에 대해 생각해보자. main문의 int문이 무엇일까? 바로 정수형을 이야기 한다. 이것은 변수의 자료형을 뜻하는데, int main 의 () 에 는 void가 생략되어 있는 것을 말한다. 코드에 반복되는 수가 2개가 있다. 뭔가 불편해보이지 않는가?. 이것을 하나의 코드줄로 압축하여 필요할때 가져와서 사용해보도록 하자. 이렇게 짜서 넣어놓으면 우리는 전달인자는 없고, 반환값은 있는 함수를 만들어서 제공해준 것 이다. 이렇게 사용하면 반복되는 코드를 계속해서 사용하지 않고 그때그때 필요한 것 을 가져와서 사용할 수 있게 되는 것 이다. 이번에는 전달인자를 받아오도록 해보자. 이렇게 짜서 작동시키면된다. 12줄에서 19줄 까지의 코드는 주석처리 된것과 그냥 들어간것의 결과가 같다. 출력해보면..