Skip to content

Instantly share code, notes, and snippets.

@KennedyTedesco
Created July 31, 2020 13:44
Show Gist options
  • Save KennedyTedesco/23935f9e7e27aa11fff8d0a5025c43e1 to your computer and use it in GitHub Desktop.
Save KennedyTedesco/23935f9e7e27aa11fff8d0a5025c43e1 to your computer and use it in GitHub Desktop.
#include <stdio.h>
#define LENGHT 5
char *langs[LENGHT] = {"PHP", "GO", "C", "Rust", "JS"};
int main() {
// Ponteiro
char *pc;
// Ponteiro de ponteiro
char **ppc;
for (int i = 0; i < LENGHT; i++) {
printf("%s\n", langs[i]);
}
// Aponta para o ponteiro do primeiro elemento do array
// Ou seja, "pcc" armazena o endereço do array "PHP"
ppc = langs;
printf("\nPrimeira linguagem: %s\n\n", *ppc); // PHP
for (int i = 0; i < LENGHT; i++) {
// Avança uma linguagem
ppc = langs + i;
// "pc" recebe o ponteiro do primeiro elemento do array de string
pc = *ppc;
while (*pc != 0) {
printf("%c\n", *pc);
// Avança um caractere do nome da linguagem atual
pc++;
}
printf("\n");
}
// O ponteiro de "ppc" agora já está apontado pra última linguagem
printf("\nÚltima linguagem: %s\n\n", *ppc); // JS
// PHP
// GO
// C
// Rust
// JS
//
// Primeira linguagem: PHP
//
// P
// H
// P
//
// G
// O
//
// C
//
// R
// u
// s
// t
//
// J
// S
//
//
// Última linguagem: JS
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment