Created
July 20, 2021 17:17
-
-
Save Thiago4532/07cf2551c675bcd2721d48a54a02f8d0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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