funcao (void levetor(int *vet, int dimensao)) para fazer a leitura do vetor.Os Argumentos argc e argvA funcao main() pode ter parametros formais. Mas o programador nao pode escolherquais serao eles. A declaracao mais completa que se pode ter para a funcao main() e:63int main (int argc,char *argv[]);Os parametros argc e argv dao ao programador acesso a linha de comando com a qual oprograma foi chamado.O argc (argument count) e um inteiro e possui o numero de argumentos com os quais afuncao main() foi chamada na linha de comando. Ele e, no minimo 1, pois o nome doprograma e contado como sendo o primeiro argumento.O argv (argument values) e um ponteiro para uma matriz de strings. Cada string destamatriz e um dos parametros da linha de comando. O argv[0] sempre aponta para o nome doprograma (que, como ja foi dito, e considerado o primeiro argumento). E para saber quantoselementos temos em argv que temos argc.Exemplo: Escreva um programa que faca uso dos paraamentros argv e argc. Oprograma devera receber da linha de comando o dia, mes e ano correntes, e imprimir a dataem formato apropriado. Veja o exemplo, supondo que o executavel se chame data:data 19 04 99O programa devera imprimir:19 de abril de 1999#include <stdio.h>#include <stdlib.h>void main(int argc, char *argv[]){int mes;char *nomemes [] = {"Janeiro", "Fevereiro", "Marco", "Abril", "Maio","Junho", "Julho", "Agosto", "Setembro", "Outubro","Novembro", "Dezembro"};if(argc == 4) /* Testa se o numero de parametros fornecidos esta corretoo primeiro parametro e o nome do programa, o segundo o diao terceiro o mes e o quarto os dois ultimos algarismos do ano */{mes = atoi(argv[2]); /* argv contem strings. A string referente ao mes deve sertransformada em um numero inteiro. A funcao atoi estasendo usada para isto: recebe a string e transforma nointeiro equivalente */if (mes<1 || mes>12) /* Testa se o mes e valido */printf("Erro!\nUso: data dia mes ano, todos inteiros");elseprintf("\n%s de %s de 19%s", argv[1], nomemes[mes-1], argv[3]);}else printf("Erro!\nUso: data dia mes ano, todos inteiros");RecursividadeNa linguagem C, assim como em muitas outras linguagens de programacao, uma funcaopode chamar a si propria. Uma funcao assim e chamada funcao recursiva. Todo cuidado epouco ao se fazer funcoes recursivas. A primeira coisa a se providenciar e um criterio deparada. Este vai determinar quando a funcao devera parar de chamar a si mesma. Isto impedeque a funcao se chame infinitas vezes.64Uma funcao que calcule o fatorial de um numero inteiro n e um bom exemplo de umafuncao recursiva:#include <stdio.h>int fat(int n){if (n)return n*fat(n-1);else return 1;}int main(){int n;printf("\n\nDigite um valor para n: ");scanf("%d", &n);printf("\nO fatorial de %d e %d", n, fat(n));return 0;}Note que, enquanto n nao for igual a 0, a funcao fat chama a si mesma, cada vez comum valor menor. n=0 e criterio de parada para esta funcao.Ha certos algoritmos que sao mais eficientes quando feitos de maneira recursiva, mas arecursividade e algo a ser evitado sempre que possivel, pois, se usada incorretamente, tende aconsumir muita memoria e ser lenta. Lembre-se que memoria e consumida cada vez que ocomputador faz uma chamada a uma funcao. Com funcoes recursivas a memoria docomputador pode se esgotar rapidamente.Outras QuestoesUma funcao,