Skip to content

Instantly share code, notes, and snippets.

@Thiago4532
Created July 20, 2021 17:17
Show Gist options
  • Save Thiago4532/07cf2551c675bcd2721d48a54a02f8d0 to your computer and use it in GitHub Desktop.
Save Thiago4532/07cf2551c675bcd2721d48a54a02f8d0 to your computer and use it in GitHub Desktop.
int main() {
int vet[5];
vet[0] = 2;
vet[1] = 5;
vet[2] = 8;
vet[3] = 11;
vet[4] = 14;
// vet[] = 2 5 8 11 14
// Criamos um ponteiro que aponta pra primeira posição do vetor
int *p = &vet[0];
cout << *p << '\n'; // 2
cout << p << '\n'; // 0x7ffc4018fd80
// Aqui estamos somando 1 no endereço que o ponteiro aponta e não no valor
// que está na posição, perceba que eu não faço o uso do asterisco.
p = p + 1;
// Como um inteiro tem 4 bytes, a posição na memória é somada em 4.
cout << p << '\n'; // 0x7ffc4018fd84
// Agora p está apontando para a próxima posição depois do vet[0], como a
// memória de um vetor é consecutiva ele está apontando para vet[1].
cout << *p << '\n'; // 5
// Somando dois na posição atual do ponteiro levará a gente duas posições
// na frente do vet[1], que é o vet[3].
p += 2;
cout << *p << '\n'; // 11
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment