Uma aplicação de arrays de ponteiros surge de imediato quando você deseja acessar os argumentos digitados para seu programa na linha de comando.
Para isto, a função main manipula dois argumentos quando o programa inicia a execução:
main (int argc, char *argv[]) { ..... }
O primeiro argumento, denominado argc por convenção, representa o número de argumentos digitados na linha de comando, incluindo o nome do programa na linha de comando, que é definido como o primeiro argumento. Desta forma o valor de argc é sempre maior ou igual a 1 (um).
Em UNIX, um argumento é considerado como uma sequência de caracteres até a primeira ocorrência do caracter de espaçamento, que pode ser um espaço em branco, tab ou o caracter de mudança de linha5.
O segundo argumento de main é o array de ponteiros para caracteres chamado argv, por convenção. O primeiro ponteiro em argv, argv[0], aponta para o nome do programa em execução. Os elementos sucessivos do array, argv[1], argv[2], ..., argv[argc - 1], contém ponteiros para os argumentos digitados na linha de comando após o nome do programa.
Como um exemplo, considere a execução do programa chamado nroff. Se a linha de comando abaixo é digitada:
nroff -mm -TXR memo1
então o valor de argc será 4 (o nome do programa mais os três argumentos que se seguem), e o argumento argv será um array de ponteiros para caracteres. O primeiro elemento deste array aponta para o string "nroff", o segundo para -mm", o terceiro para -TXR" e finalmente o quarto elemento aponta para o string "memo1". Isto pode ser melhor visualizado na Figura 3.