Update page '1.2. Работа с памятью'
parent
e6a05644e3
commit
92bd0af1ee
@ -38,11 +38,12 @@
|
||||
|
||||
Отдельным пунктом, можно обозначить служебную структуру **stack_t**, а также методы для работы с ней:
|
||||
|
||||
- `void libcdsb_stack_init (stack_t* stack)`
|
||||
- `void libcdsb_stack_push (stack_t* stack, void* value)`
|
||||
- `void* libcdsb_stack_pop (stack_t* stack)`
|
||||
- `void libcdsb_stack_flush(stack_t* stack)`
|
||||
- `void libcdsb_stack_init(stack_t* stack)`
|
||||
- `void libcdsb_stack_push(stack_t* stack, void* value)`
|
||||
- `void libcdsb_stack_push_many(stack_t* stack, size_t n, ...)`
|
||||
- `void* libcdsb_stack_pop(stack_t* stack)`
|
||||
- `void libcdsb_stack_flush(stack_t* stack)`
|
||||
|
||||
Выделение памяти для этой структуры носит исключительный характер, так как `void libcdsb_stack_push (stack_t* stack, void* value)` использует вызов `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)`.
|
||||
|
||||
[Далее: 1.3. Зависимости](https://gogs.lirent.ru/lirent/libcdsb/wiki/1.3.+%D0%97%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8)
|
Loading…
Reference in New Issue
Block a user