본문 바로가기

컴퓨터 언어/C\C++8

[ c 언어 ] 동적 메모리 할당 ( malloc 함수) 동적 메모리 할당 #include void* malloc(size_t size) 프로그램을 작성 할 당시에는 얼마나 많은 공간이 필요한지 알 수도 없고,또 사용되지 않을지도 모르는 아주 큰 공간을 미리 할 당해놓기를 원하지 않을 것이다. 그래서 새로운 메모리 공간이 필요할 때 마다 함수 malloc을 호출해서 필요한 양의 공간을 요구할 수 있다. 공간을 사용할 수 잇으면 요구한 크기의 메모리 영역에 대한 시작 주소에 대한 포인터를 반환하고, 만일 공간을 사용할 수 없으면 NULL 포인터가 반환된다. 나중에 메모리 영역이 더 이상 필요 없게 되면 free라는 또 다른 함수 호출을 통하여 그 영역을 시스템에 반환 할 수 있다. 이때 일단 메모리 영역이 반환되면 이것을 그 프로그램에서 다시 사용할 수 없다. .. 2020. 4. 12.
[c 언어] 구조체의 정의 & 배열과 포인터 구조체 만들기. 구조체의 정의 '구조체(structure)'라는 것은 하나 이상의 변수(포인터 변수와 배열 포함)을 묶어서 새로운 자료형을 정의 하는 도구이다. 예를 들어 생각해 보자. 프로그램상에서 마우스의 좌표정보를 저장하고 관리해야 한다고 가정할 때, int xpos; int ypos; 위의 코드와 같이 마우스의 x좌표와 y좌표 두가지의 변수를 선언해야한다. 이 두개의 좌표는 각각 독립적인 것이 아니라, 마우스의 위치라는 하나의 정보를 표현한다. 만약 마우스의 위치정보를 출력하거나 갱신해야 한다면 동시에 적용되어야 한다는 것이다. 이를 용이하게 하기 위해 구조체라는 개념을 사용한다. 예제. #include struct point // point라는 이름의 구조체 만듦. { int xpos; int ypos; }; .. 2020. 4. 4.