Trabalhando com argumentos e ponteiros
Publicado por Bruno Gola 24/10/2006
[ Hits: 6.546 ]
Este é um pequeno exemplo de como funcionam os argumentos passados via linha de comando para o programa. Mostra a estrutura argv (ponteiro para ponteiro) e os valores para onde ela aponta.
#include <stdlib.h>
#include <stdio.h>
/* Este código tem como intuito apenas ilustrar e exemplificar o uso de ponteiros em C e como manipular os argumentos
* passados via linha de comando para o programa.
*
* Bruno Gola - < brunogola em gmail ponto com > */
int main(int argc, char** argv) {
int i;
printf("\n\n");
/* Imprime posição de memória do primeiro argumento, do array (ou ponteiro para ponteiro de char) argv e o número
* de argumentos passados */
printf("Argumentos: %d\n\nPosicao inicial de *argv: %p\n\nPosicao de **argv: %p \n\n", argc, &argv[0], &argv);
/* Imprime cada argumento passado na linha de comando usando o array argv (ponteiro para ponteiro de char) */
for(i=0;i < argc;i++)
printf("Argumento %d: %s\n",i,argv[i]);
printf("\n\n");
/* Imprime a posição de memória de cada ponteiro do array argv */
for(i=0;i < argc;i++)
printf("Posição na memória, argumento %d: %p\n",i,&argv[i]);
printf("\n\n");
/* Imprime cada argumento passado na linha de comando usando aritimética de ponteiros, ou seja, somo i à posição
* de memória do primeiro argumento */
for(i=0;i < argc;i++)
printf("Argumento %d: %s\n",i,*(argv+i));
return 0;
}
Nenhum comentário foi encontrado.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
ERRO: LAZARUS 4.2 64 no Linux MINT não entra mais apos ajustar desktop... (0)
Pergunta: Meu teclado não está respondendo direito como e consertar? (2)
Secure boot, artigo interessante, nada técnico. (6)
SQLITE não quer funcionar no LINUX LMDE6 64 com Lazaruz 4.2 64bit (n... (0)









