프로그래밍 공부

프로그래밍 700

카테고리 설명
  • malloc은 데이터의 동적할당을 이루어지게 한다. 데이터 범위 동적할당을 이루어지게 하여 펑션단위에서 배열을 만들어서 포인터로 리턴을 해줄 수 있다. 이러한 방법을 통해 더 쉽게 데이터범위를 지정하고 주소값을 반환할 수 있어 코드를 작성 할 때 편리하게 쓸 수 있다. 그러나, malloc은 데이터 할당 이후에 데이터를 free로 날려주어 데이터할당을 종료해주어야 낭비되는 메모리가 없이 최적화 되게 동작시킬 수 있음으로 이에 유의하여 작성해야 한다. 밑 코드 예시를 확인해보자. free 함수를 사용하여 데이터 할당을 종료시켜주어야 한다. 위 FREE는 #define으로 명령어를 만들어서 동작시키게 만들었다. 그는 밑과 같다. 이러한 데이터할당 방법을 사용하여 free로 데이터를 날려주고 주소값을 NULL..

  • 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가 별로 없고 신규를 잘 뽑으려고 하지 않는다. 바로 일할 사람이 필요하기 때문. 입사하고 나서 가장 떨렸던 부분 = 내가 뭘 할 수 있을까..

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