Arrays of pointers in C: solved exercise

Arrays of pointers in C: solved exercise

If you are looking for arrays of pointers in c: solved exercise, here is a practical, compilable example focused on the reusable idea behind the exercise.

Problem statement

Declare an array of pointers to strings and print all its elements.

C solution

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#include <stdio.h>

int main(void) {
    const char *palabras[] = {"uno", "dos", "tres"};
    int n = (int)(sizeof(palabras) / sizeof(palabras[0]));

    for (int i = 0; i < n; i++) {
        printf("%s\n", palabras[i]);
    }
    return 0;
}

Expected output

1
2
3
uno
dos
tres

Common mistakes

  • Not testing edge cases such as small or empty inputs.
  • Not validating indices, pointers, or limits carefully enough.
  • Copying the mechanics without understanding the general pattern.

Practical use

The important part here is understanding which address is traversed or allocated and when it stops being valid.

Guided practice and full book

If you want a complete path with progressive difficulty:

FAQ

Is this exercise useful in practice?

Yes. It is designed to teach a reusable C pattern rather than a one-off toy example.

How should I practice it better?

Change the input data, add edge cases, and rewrite it from scratch without looking at the solution.

How should I practice this exercise type to improve faster?

Start with small inputs, run edge cases (empty, one item, max capacity), then rewrite the solution from scratch without copying.