English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C++ Fornece dois operadores de ponteiros, um é o operador de endereço & e o outro é o operador de endereçamento indireto *。
Um ponteiro é uma variável que contém o endereço de outra variável, você pode dizer que uma variável que contém o endereço de outra variável é "apontando" para outra variável. A variável pode ser de qualquer tipo de dados, incluindo objetos, estruturas ou ponteiros.
O operador & é um operador unário que retorna o endereço de memória do operando. Por exemplo, se var é uma variável do tipo inteiro, então &var é seu endereço. Este operador tem a mesma precedência que outros operadores unários e é executado da direita para a esquerda na operação.
Você pode ler o operador & comooperador de endereço,o que significa que,&var lido como "endereço de var".
O segundo operador é o operador de endereçamento indireto *,é complemento do operador &.* É um operador unário, que retorna o valor da variável especificada pelo operando.
Por favor, veja o exemplo a seguir para entender o uso desses operadores.
#include <iostream> using namespace std; int main () { int var; int *ptr; int val; var = 3000; // Obter endereço de var ptr = &var; // Obter valor de ptr val = *ptr; cout << "Valor de var: " << var << endl; cout << "Valor de ptr: " << ptr << endl; cout << "Valor de val: " << val << endl; return 0; }
Quando o código acima for compilado e executado, ele produzirá o seguinte resultado:
Valor de var:3000 Valor de ptr:0xbff64494 Valor de val:3000