Comment

The OS sets up the data structure with the command line strings. Then your program accesses those strings. Here is how many C programs start out:

void main( int argc, char *argv[] )
{
 . . .
} 

The OS calls main with parameter argc set to the number of command line parameters and argv containing a pointer to the array of pointers.

char *argv[] means that argv is an array of pointers to char. (In detail: argv is the address of the array.)

The first cell of the array argv[0] points to the first null terminated string.

The second cell of the array argv[1] points to the second null terminated string. This is the first parameter after the program name.

Here is a program that echoes to the screen the first parameter from the command line:

#include <stdio.h>
void main( int argc, char *argv[] )
{
  printf("Argument Count: %d\n", argc );
  printf("First Param: %s\n", argv[1] );
}

Here is a run of that program:

Unix, Linux, and Mac have similar behavior.



Next Page         Previous Page Home