aboutsummaryrefslogtreecommitdiff
path: root/test.c
blob: cac1aef5549590735e2f6a7927b3428bc6487e0b (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
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <stdio.h>

typedef struct {
    int size;
    int cap;
    int* inner;
} IntVec;

IntVec* test();
int testtwo(IntVec*);
int testthree(IntVec*);
int testfour(IntVec*);

void testback(int x) {
    printf("%d, ", x);
}

int main() {
    IntVec* v = test();

    int size = (*v).size;
    int cap = (*v).cap;
    int* inner = (*v).inner;

    printf("%d\n", size);
    printf("%d\n", cap);

    for (int i = 0; i < size; ++i) {
        int value = inner[i];
        printf("%d ", value);
    }
    puts("\n\n");

    testtwo(v);

    size = (*v).size;
    cap = (*v).cap;
    inner = (*v).inner;

    printf("%d\n", size);
    printf("%d\n", cap);

    for (int i = 0; i < size; ++i) {
        int value = inner[i];
        printf("%d ", value);
    }
    puts("\n\n");
    int i = testthree(v);
    printf("%d ", i);
    puts("\n\n");
    testfour(v);
    puts("");
}