반응형
c언어 리스트 (list) - 동적 배열(flexible array) 배열의 길이(length) 활용
charList 문자 배열을 길이(length) 변수를 활용하여 동적으로 할당 (reallocate)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
/* Reallocate: allocate a new array with length variable */
#include <stdio.h>
#include <stdlib.h>
int main() {
int length = 0, capacity = 8;
char *charList = malloc(capacity * sizeof(char));
printf("length: %d , capacity: %d\n", length, capacity);
length = 8;
if (length >= capacity) {
capacity = capacity * 3 / 2;
charList = realloc(charList, capacity * sizeof(char));
}
printf("new length: %d , new capacity: %d\n", length, capacity);
}
|
cs |
list 정수 배열을 길이(length) 변수를 활용하여 동적으로 할당 (reallocate)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
/* Reallocate: allocate a new array with length variable */
#include <stdio.h>
#include <stdlib.h>
int main() {
int length = 0, capacity = 4;
int *list = malloc(capacity * sizeof(int));
printf("length: %d , capacity: %d\n", length, capacity);
length = 5;
if (length >= capacity) {
capacity = capacity * 3 / 2;
list = realloc(list, capacity * sizeof(int));
}
printf("new length: %d , new capacity: %d\n", length, capacity);
}
|
cs |
반응형
'C 언어 > C언어 기초' 카테고리의 다른 글
[C언어 #57] 객체 리스트 (Object lists) (0) | 2020.08.12 |
---|---|
[C언어 #56] 리스트 (list) 확장 (realloc) - 동적 배열 ArrayList 만들기 (0) | 2020.08.01 |
[C언어 #54] 메모리 (Memory) - 배열 재할당 (realloc) (0) | 2020.07.30 |
[C언어 #53] 이진 탐색 (Binary Search) - 특정 문자 포함 여부 찾기 (0) | 2020.07.20 |
[C언어 #52] 순차 탐색 (Linear Search) - 특정 문자 포함 여부 찾기 (0) | 2020.07.20 |