aboutsummaryrefslogtreecommitdiff
path: root/hi.c
blob: 3d15edb296c0f900b6a35bd75fd65d051622b389 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# include <stdio.h>
# include <stdlib.h>

// REUSABLE INTEGER ARRAY IN CASE YOU NEED AN INTEGER ARRAY
typedef struct {
    int *data;
    int size;
    int capacity;
} IntArray;

void initArray(IntArray *arr, int initialCapacity) {
    arr->data = malloc(initialCapacity * sizeof(int));
    arr->size = 0;
    arr->capacity = initialCapacity;
}

void append(IntArray *arr, int value) {
    if (arr->size >= arr->capacity) {
        arr->capacity *= 2;
        arr->data = realloc(arr->data, arr->capacity * sizeof(int));
        if (arr->data == NULL) {
            printf("Reallocate failed!!\n");
            exit(1);
        } 
    }

    arr->data[arr->size] = value;
    arr->size++;
}

int main () {
    int x = 5;
    int y = x++;
    printf("%d\n", y);
    y = ++x;
    printf("%d\n\n", y);


    return 0;
}