Update page '1.2. Работа с памятью'

Gregory Lirent 2022-08-18 03:20:32 +03:00
parent 92bd0af1ee
commit b75d4728f8

@ -38,11 +38,11 @@
Отдельным пунктом, можно обозначить служебную структуру **stack_t**, а также методы для работы с ней: Отдельным пунктом, можно обозначить служебную структуру **stack_t**, а также методы для работы с ней:
- `void libcdsb_stack_init(stack_t* stack)` - `void libcdsb_stack_init (stack_t* stack)`
- `void libcdsb_stack_push(stack_t* stack, void* value)` - `void libcdsb_stack_push (stack_t* stack, void* value)`
- `void libcdsb_stack_push_many(stack_t* stack, size_t n, ...)` - `void libcdsb_stack_push_many(stack_t* stack, size_t n, ...)`
- `void* libcdsb_stack_pop(stack_t* stack)` - `void* libcdsb_stack_pop (stack_t* stack)`
- `void libcdsb_stack_flush(stack_t* stack)` - `void libcdsb_stack_flush (stack_t* stack)`
Выделение памяти для этой структуры носит исключительный характер, так как `void libcdsb_stack_push(stack_t* stack, void* value)` и `void libcdsb_stack_push_many(stack_t* stack, size_t n, ...)` используют вызов `void* malloc (size_t n)`. Высвобождение памяти в `void* libcdsb_stack_pop(stack_t* stack)` и `void libcdsb_stack_flush(stack_t* stack)` осуществляется вызовом `void free(void* s)`. Выделение памяти для этой структуры носит исключительный характер, так как `void libcdsb_stack_push(stack_t* stack, void* value)` и `void libcdsb_stack_push_many(stack_t* stack, size_t n, ...)` используют вызов `void* malloc (size_t n)`. Высвобождение памяти в `void* libcdsb_stack_pop(stack_t* stack)` и `void libcdsb_stack_flush(stack_t* stack)` осуществляется вызовом `void free(void* s)`.