C sizeof char* array

c, sizeof

Solution

Yes,

size_t n = sizeof(tbl) / sizeof(tbl[0])

is the most typical way to do this.

Please note that using `int` for array sizes is not the best idea.

Problem

I have a `char*` array as follows: ``` char *tbl[] = { "1", "2", "3" }; ``` How do I use the `sizeof` operator to get the number of elements of the array, here 3? The below did work, but is it correct? ``` int n = sizeof(tbl) / sizeof(tbl[0]) ```

Original source

Related problems