From 82ba818ff456bcd6d56a06226e3f27e98fbb55c3 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Thu, 14 Aug 2025 22:58:58 -0500 Subject: removing all downloaded devdocs files --- devdocs/c/memory%2Ffree_sized.html | 70 -------------------------------------- 1 file changed, 70 deletions(-) delete mode 100644 devdocs/c/memory%2Ffree_sized.html (limited to 'devdocs/c/memory%2Ffree_sized.html') diff --git a/devdocs/c/memory%2Ffree_sized.html b/devdocs/c/memory%2Ffree_sized.html deleted file mode 100644 index 36a5ad8f..00000000 --- a/devdocs/c/memory%2Ffree_sized.html +++ /dev/null @@ -1,70 +0,0 @@ -

free_sized

Defined in header <stdlib.h>
void free_sized( void* ptr, size_t size );
-
(since C23)

Deallocates the space previously allocated by malloc(), calloc(), or realloc() (but not aligned_alloc()).

-

Parameters

- - -
ptr - pointer to the memory to deallocate
size - size of memory previously passed to an allocation function

Return value

(none)

-

Notes

Possible implementation

void free_sized(void* ptr, size_t /*size*/)
-{
-    free(ptr);
-}

Example

#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
- 
-typedef struct
-{
-    size_t size;     // current number of elements
-    size_t capacity; // reserved number of elements
-    void** data;
-} PtrVector;
- 
-PtrVector vector_create(size_t initial_capacity)
-{
-    PtrVector ret =
-    {
-        .capacity = initial_capacity,
-        .data = (void**) malloc(initial_capacity * sizeof(void*))
-    };
-    return ret;
-}
- 
-void vector_delete(PtrVector* self)
-{
-    free_sized(self->data, self->capacity * sizeof(void*));
-}
- 
-void vector_push_back(PtrVector* self, void* value)
-{
-    if (self->size == self->capacity)
-    {
-        self->capacity *= 2;
-        self->data = (void**) realloc(self->data, self->capacity * sizeof(void*));
-    }
-    self->data[self->size++] = value;
-}
- 
-int main()
-{
-    int data = 42;
-    float pi = 3.141592f;
-    PtrVector v = vector_create(8);
-    vector_push_back(&v, &data);
-    vector_push_back(&v, &pi);
-    printf("data[0] = %i\n", *(int*)v.data[0]);
-    printf("data[1] = %f\n", *(float*)v.data[1]);
-    vector_delete(&v);
-}

Output:

-
data[0] = 42
-data[1] = 3.141592

References

See also

- - -
deallocates previously allocated memory
(function)
-
(C23)
deallocates previously allocated sized and aligned memory
(function)
allocates memory
(function)
-

- © cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
- https://en.cppreference.com/w/c/memory/free_sized -

-
-- cgit v1.2.3