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])
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])
Yes,
int n = sizeof(tbl) / sizeof(tbl[0])
is the most typical way to do this.
The shorter and, arguably, cleaner version would look as
sizeof tbl / sizeof *tbl
:)