diff --git a/aulas/09-args/envp.c b/aulas/09-args/envp.c index cbb4293..1702561 100644 --- a/aulas/09-args/envp.c +++ b/aulas/09-args/envp.c @@ -1,22 +1,33 @@ #include +#include + +extern char **environ; + +void print_list(char *list[]); + +int main(int argc, char **argv, char **envp) { + + // Listando ponteiro 'environ'... + print_list(environ); + putchar('\n'); + + // Função getenv... + char *env = getenv("SHELL"); + printf("env = %s\n", env); + putchar('\n'); + + // Listando parâmetro 'envp'... + print_list(envp); + + return 0; +} void print_list(char *list[]) { int i = 0; while (list[i] != NULL) { - printf("[%d] => %s\n", i, list[i]); + printf("[%d] => %p => %s\n", i, list[i], list[i]); i++; } } - -int main(int argc, char **argv, char **envp) { - - // O vetor de ambiente (envp) é um vetor de strings - // terminado com um ponteiro nulo (NULL)... - - print_list(envp); - - return 0; -} -