배열을 동적으로 할당 하는 방법에는 여러가지가 있다.
명시된 숫자값이 아닌 변수등의 값으로 배열을 선언하는데 유용하다.
우선 이 함수들을 사용하기 위해선 stdlib 헤더파일을 include 해야 한다.
( #include <stdlib.h> )
int input = 10;
int *arr;
// 위와 같이 선언하였다면...
arr = (int *)malloc( sizeof(int) * input );
arr = (int *)calloc(5, sizeof(int));
malloc 사용에서 int arr[10]; 과 같은 효과를,
calloc 사용에서 int arr[5];와 같은 효과를 얻을 수 있다.
한번 선언된 배열을 확장 할때 사용하는 realloc도 있다.
arr = (int *)realloc(arr, 20*(sizeof(int)); // 20크기로 재할당
위에서와 같이 arr의 크기가 10이나 5였을때
배열의 시작위치는 변함없이 배열의 크기를 20으로 늘려주는 함수이다.
'General > C, C++, C#' 카테고리의 다른 글
[API] 유니코드 (0) | 2009.11.30 |
---|---|
[API] 기본예제(창 띄우기) (0) | 2009.11.30 |
[C언어] 동적 배열 할당 (0) | 2009.11.30 |
[C언어] 기본개념 (0) | 2009.11.30 |
[C언어] 제어문, 반복문 종류 (0) | 2009.11.30 |