Skip to content
Snippets Groups Projects
array-length.c 954 B
Newer Older
Bruce Cowan's avatar
Bruce Cowan committed
/*
 * SPDX-FileCopyrightText: 2019 Bruce Cowan <bruce@bcowan.me.uk>
 *
 * SPDX-License-Identifier: Apache-2.0
 */

Bruce Cowan's avatar
Bruce Cowan committed
#include <inttypes.h>
#include <stdint.h>
#include <stdio.h>

#include <array.h>

Bruce Cowan's avatar
Bruce Cowan committed
static void
print_element (void *data,
               void *user_data)
{
    printf ("%" PRIdPTR " ", (intptr_t) data);
}

static void
print_details (Array *arr)
{
    size_t len = array_get_length (arr);
    size_t capacity = array_get_capacity (arr);
    printf ("Array length %zu, Array capacity %zu\n", len, capacity);
Bruce Cowan's avatar
Bruce Cowan committed

    printf ("Data is: ");
    array_foreach (arr, print_element, NULL);
    printf ("\n");
}

int
main (void)
{
    Array *arr = array_new (NULL);
    print_details (arr);

    for (int i = 0; i < 10; i++)
    {
Bruce Cowan's avatar
Bruce Cowan committed
        array_add (arr, (const void *) (intptr_t) i);
        print_details (arr);
    }
    
    for (int i = 0; i < 10; i++)
    {
        array_remove_fast (arr, 0);
        print_details (arr);
    }

    return 0;
}