malloc
-
동적 메모리 할당이란 프로그램의 실행 도중에 메모리를 할당 받는 것입니다. 필요한 만큼만 할당을 받고 또 필요한 때에 사용하고 반납합니다. 이로 인해 메모리를 효율적으로 관리하고 사용이 가능합니다. 메모리 영역은 스택(Stack :: 지역변수, 매개변수), 힙(Heap :: 동적 할당), 데이터(Data :: 전역변수, static), 코드(Code, Text :: 코드, 함수, 제어문) 으로 이루어져 있는데 동적 할당의 경우 힙 영역에 저장됩니다. main() { int *pi; pi = (int *)malloc(sizeof(int)); // 동적 메모리 할당 // ... // ... 동적 메모리 사용 // ... free(pi); // 동적 메모리 반납 } C에서 동적 메모리를 사용하는 함수로 mal..
[자료구조] 동적 메모리 할당과 반납동적 메모리 할당이란 프로그램의 실행 도중에 메모리를 할당 받는 것입니다. 필요한 만큼만 할당을 받고 또 필요한 때에 사용하고 반납합니다. 이로 인해 메모리를 효율적으로 관리하고 사용이 가능합니다. 메모리 영역은 스택(Stack :: 지역변수, 매개변수), 힙(Heap :: 동적 할당), 데이터(Data :: 전역변수, static), 코드(Code, Text :: 코드, 함수, 제어문) 으로 이루어져 있는데 동적 할당의 경우 힙 영역에 저장됩니다. main() { int *pi; pi = (int *)malloc(sizeof(int)); // 동적 메모리 할당 // ... // ... 동적 메모리 사용 // ... free(pi); // 동적 메모리 반납 } C에서 동적 메모리를 사용하는 함수로 mal..
2021.04.10 -
구조체 자료형 int와 char를 생성해주고 char의 공간을 100으로 부여해준다. book 구조체 포인터로 p를 생성해주고 book구조체로 형변환 한다음 구조체의 2배 만큼의 공간을 할당해준다. 구조체 포인터 같은 경우 -> 를 이용해 해당 변수에 접근 가능하다. p라는 구조체의 number 변수에 1을 삽입한다는 뜻이다. 그리고 title 변수에도 문자를 입력한다. 각각의 구조체 변수의 값을 넣어 초기화 해주고 이것으로 총 2개만큼의 책 정보가 들어갈 수 있는 배열같은 것이 만들어진 것이다. 다음으로 현재 자신이 관리하고 있는 모든 책의 정보를 출력하는 함수를 만든다. void shoeBook(struct Book *p, int n) n은 책의 갯수를 의미하며 포인터p는 구조체 book을 동적 메모..
C 프로그래밍 (19) - 동적 메모리 이용하기 II구조체 자료형 int와 char를 생성해주고 char의 공간을 100으로 부여해준다. book 구조체 포인터로 p를 생성해주고 book구조체로 형변환 한다음 구조체의 2배 만큼의 공간을 할당해준다. 구조체 포인터 같은 경우 -> 를 이용해 해당 변수에 접근 가능하다. p라는 구조체의 number 변수에 1을 삽입한다는 뜻이다. 그리고 title 변수에도 문자를 입력한다. 각각의 구조체 변수의 값을 넣어 초기화 해주고 이것으로 총 2개만큼의 책 정보가 들어갈 수 있는 배열같은 것이 만들어진 것이다. 다음으로 현재 자신이 관리하고 있는 모든 책의 정보를 출력하는 함수를 만든다. void shoeBook(struct Book *p, int n) n은 책의 갯수를 의미하며 포인터p는 구조체 book을 동적 메모..
2020.08.15 -
동적 메모리 할당이란 프로그램이 실행 도중에 동적으로 메모리를 할당받는 것이다. 프로그램에서는 효율성을 위해 필요한 만큼의 메모리를 시스템으로부터 할당받아 사용하고 사용이 끝나면 시스템에 메모리를 반드시 반납한다. 동적 메모리는 malloc()계열 라이브러리 함수를 사용해 할당받아 사용할 수 있다. malloc은 메모리를 할당하라는 의미이며 오른쪽 int형의 크기만큼 할당한다는 의미이다. int형은 4byte이므로 4를 넣어도 무방하다. 메모리를 할당 후 그부분의 주소를 가리키도록 해야하므로 (int *) integer pointer로 형변환을 시켜줌으로써 포인터 integer 변수가 해당 위치를 기억할 수 있게 해주는 것이다. pi가 NULL값이라 실패 문구가 뜬다면 exit(1)을 띄워 즉시 프로그램..
C 프로그래밍 (18) - 동적 메모리 이용하기동적 메모리 할당이란 프로그램이 실행 도중에 동적으로 메모리를 할당받는 것이다. 프로그램에서는 효율성을 위해 필요한 만큼의 메모리를 시스템으로부터 할당받아 사용하고 사용이 끝나면 시스템에 메모리를 반드시 반납한다. 동적 메모리는 malloc()계열 라이브러리 함수를 사용해 할당받아 사용할 수 있다. malloc은 메모리를 할당하라는 의미이며 오른쪽 int형의 크기만큼 할당한다는 의미이다. int형은 4byte이므로 4를 넣어도 무방하다. 메모리를 할당 후 그부분의 주소를 가리키도록 해야하므로 (int *) integer pointer로 형변환을 시켜줌으로써 포인터 integer 변수가 해당 위치를 기억할 수 있게 해주는 것이다. pi가 NULL값이라 실패 문구가 뜬다면 exit(1)을 띄워 즉시 프로그램..
2020.08.10