Possible solution

Content

Functions for array operations

int
printf(const char *, ...);

void
init_array(unsigned int n, int *x)
{
    for (unsigned int i=0; i<n; ++i) {
        x[i] = i+1;
    }
}

void
print_array(unsigned int n, const int *x)
{
    for (unsigned int i=0; i<n; ++i) {
        printf("%5d ", x[i]);
    }
    printf("\n");
}

int
sum_array(unsigned int n, const int *x)
{
    int sum = 0;
    for (unsigned int i=0; i<n; ++i) {
        sum += x[i];
    }
    return sum;
}

int
main()
{
    int x[5];

    // init x
    init_array(5, x);

    // print x
    print_array(5, x);

    // sum elements of x
    int sum = sum_array(5, x);

    printf("sum = %d\n", sum);
}
heim$ gcc -Wall -std=c11 -o array2 array2.c
heim$ ./array2
    1     2     3     4     5 
sum = 15
heim$