The most common use of arrays of arrays in C/C++ is arrays of C-strings.
An array of C-strings is an array of arrays. Here is an example.
char* days[] = {"Mon", "Tue", "Wed", "Thu", "Fri"};
In the above days
array each element is a pointer to
a string, and they don't have to be the same size. For example,
char * greetings[] = {"Hello", "Goodbye", "See you later"};
When the main
function is called, it is passed the name of the
program that is being run and all the tokens (words) on the remainder
of the line that was used to run the program. These are passed to the
main as an array of C-strings and the number of elements in the array.
Here is a main program that prints these parameters.
#include <iostream> using namespace std; int main(int argc, char* argv[]) { for (int i=0; i<argc; i++) { cout << argv[i] << endl; } return 0; }
Because arrays and pointers are so interchangeable, you can write the header of main like this also:
int main(int argc, char* argv[]) { ...