![]() |
![]() |
![]() |
![]() |
![]() |
|
Now you can understand which data types you need for the
argument_count parameter and the argument_array parameter. Specifying the
data type for argument_count is straightforward, of course, as
argument_count is just an integer:
main (int argument_count, ...) {...}
Specifying the data type for argument_array is a bit tricky,
however. It would be wrong to specify char argument_array, for that
would mean that argument_array is just a single character. It would
be almost as wrong to specify char *argument_array, for that would
mean that argument_array is just a pointer to a character. What you
need is an extra asterisk, producing char **argument_array, for that
must be a pointer to a pointer to a character. Inasmuch as each object
pointed to can always be the first element in an array of such objects, you
can also say that char **argument_array establishes that the value
of argument_array is the address of an array of addresses of
character strings.