Загрузка данных


#include <stdio.h>
#include <stdlib.h>

typedef struct {
    int *data;
    size_t size;
    size_t capacity;
} Array;

Array ArrayInit() {
    Array array;

    array.size = 0;
    array.capacity = 10;

    array.data = (int *)malloc(sizeof(Array) * array.capacity);
    if (array.data == NULL) {
        perror("init fail: ");
        free(array.data);
        array.data = NULL;
    }

    return array;
}

int ArrayAppend(Array *array, int value) {
    if (array->capacity < array->size) {
        array->capacity *= 2;
    }

    array->data = (int *)realloc(array, array->capacity);
    if (array->data == NULL) {
        perror("append fail: ");
        free(array->data);
        array->data = NULL;
        return 1;
    }

    array->size++;
    array->data[array->size] = value;
    return 0;
}

int main() {
    Array arr = ArrayInit();
    ArrayAppend(&arr, 12);
    
    return 0;
}