프로그래밍 공부

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

카테고리 설명
  • Funtion을 선언하고 해당 Fundtion의 주소를 사용해서 참조할 수 있다. 어떠한 배열이나 int형 같은 형태에 주소값을 참조할 수 있음을 알 것이다. 그렇다면, Function에도 주소가 있을것이고 그 주소를 참조하여 주소값에 있는 Funtion을 실행할 수 있을것이다. 이러한 Funtion주소를 실행하는법을 알아보자. Funtion pointer는 왼쪽부터 읽으면, 펑션에 생성된 리턴값을 받아올 데이터를 가리키는 형변환을 이루어지게 해주어야하고, (*compute) 라는 변수명 을 지정한뒤, 포인터 임을 지정해준다. 그리고 (int, int)형을 데이터 받아온다는 매개변수를 선언해주고 NULL로 초기화해준다. 실행 예시를 한번 보자. 직접 변수를 선언하고 포인터 위치에 함수의 주소를 지정하고 ..

  • Union 은 다양한 자료형을 한대 묶어서사용하는, 구조체처럼 사용한다. 스트럭쳐는 내부에 데이터들이 각기 다른공간에 들어가있는 특징이 있다. 그러나 Union은 다양한 데이터가 하나의 데이터공간을 활용하여 연결되어있다. 코드 예시를 살펴보자. 구조체는 데이터의 가장 큰 사이즈로 데이터를 잡게 된다. 즉, 윗부분 구조체의 데이터가 1,4 이기 때문에 5가 되고 8이 들어가야하는데 8사이즈가 못들어가기 때문에, 다음줄 8바이트를 넣어서 8 ( 1 + 4 + 빈공간 3) 8 ( double) 이 되기떄문에 16바이트를 사용한다. Union은 8바이트가 뜬다. 이친구는 구조체와 다르게 맴버 각각이 자신의 공간을 따로 사용하는것이 아니다. 한줄 에 따로 (8byte 전부 같이 사용함) 8byte 의 공간을 할당..

  • 게임 기획자 출신 강연자 학원강사(입시생 수학 가르치는중) 진로 생각 후 게임업계 준비함. 학원다녀도 잘 안되는것 같아서 생각해봤더니 직접 한곳을 집어서 다 포기하고 프로그래밍만 공부하게됨. 하면서 면접준비, 포트폴리오 만듬 처음 - 스타트업 입사 리듬게임 만드는 회사에 취직함. 두달 다니고 퇴사함. 꼰대 선임때문에 많이 힘들었음. 그래서 큰 기업에 들어가려고 면접지원을 했으나, 면접절차만 한달 두달씩 걸려서 일이라도 해야겠다 싶어서 스타트업에 들어갔던것임. 그러다가 NC에서 이야기가 나와서 가서 면접보고 취업을 했다. 취직하고 나서 상시, 공채가 있는데 상시는 TO가 별로 없고 신규를 잘 뽑으려고 하지 않는다. 바로 일할 사람이 필요하기 때문. 입사하고 나서 가장 떨렸던 부분 = 내가 뭘 할 수 있을까..

  • 구조체의 주소값을 알아보자. 구조체는 배열과 다르게 연속적인 주소를 가지지 않는다. 구조체 안의 변수를 사용할 뿐 이지 연속될 이유가 없기 때문이다. 그러나, 구조체 안의 배열은 전부 연속된 주소를 가진다. 배열이기 때문이다. 구조체는 지역의 영향을 받는다. 일반 변수와 같이 절대값 선언을 하지 않으면 내부변수처럼 사용이 되어 지역밖을 벗어났을 경우 데이터가 소멸되기 때문이다. 예시는 밑과 같다. 구조체 안에 구조체를 다시 선언해줄 수 있다. 순서는 위부터 아래로 나타나며, 위에서 사용된 구조체를 아래에서 사용해줄 수 있다. 함수와 같은 성질을 가지는데, 밑에서 선언된 구조체를 위에서 선언해서 사용할 수 없다. 사용하기 위해서는 구조체를 위에서 사용하겠다는 선언을 해주어야 한다. 함수를 생각하면 편하다...

  • 포인터와 포인터배열을 알아보자. 포인터를 선언할 때 배열을 지정하기 위해서는 배열을 지정하고 배열의 열이 어느정도 있는지를 포인터에 알려주어야 한다. 배열 포인터 = 포인터를 배열처럼 사용하겠다. 포인터 배열 = 포인터에 int형을 하나하나 넣어서 배열처럼 만들겠다. 라는것이다. 구조체, Structure에 대해 알아보자. 구조체는, 각각의 같은 데이터가 무수히 많이 필요할 때 전부 타이핑하여 사용할 수 없음으로 다양한 데이터를 한개로 묶어서 여러개 사용할 수 있도록, 하는 것을 이야기 한다. 쉽게 말해서 도장을 파서 그때그때 파서 사용하는거라고 생각하면 편하다. 더 쉽게 이해하자면, 전에 배웠던 함수를 만드는것. 을 변수로 만든다고 생각하면 된다. 자료형 이라고 생각하면 된다. 자료형을 만들 때 cpp..

  • 더블포인터에 대해 알아보자. 더블포인터는 포인터를 가르키는 포인터를 의미한다. 포인터를 가르키는 포인터는 **을 붙여서 표현한다. 간단하게 포인터의 포인터이니까 더블포인터 포인터 두개 라고 이해하면 기억이 편하다. 예시를 살펴보자. 포인터를 사용해서 데이터의 변환을 실험해보자 간단하게 swap코드를 작성하여 테스트를 진행한다. 내부 데이터가 변환된다는 가정 하에 함수 내부에서 외부변수를 받아와서 변환해주어도,함수가 끝나는 순간 할당된 메모리는 전부 반환되고 리턴값을 제외한 모든 데이터가 사라지게 된다. 이것을 막기 위해 포인터를 사용하여 함수 연산을 진행할 수 있다. 예시를 살펴보자. 이중포인터 접근방법을 통해서 데이터가 아닌 주소만 바꾸어 보자. 포인터를 사용하면 주소만 변경함으로 써 데이터가 바뀐것 ..