Endereço dos Dados
A forma mais básica de criar um ponteiro é com o operador “de endereço”, ‘&’. Suponha que temos as seguintes variáveis disponíveis:
int i;
double a[5];
Agora, &i
fornece o endereço da variável i
— um valor de ponteiro que aponta para a localização de i
— e &a[3]
fornece o endereço do elemento 3 de a
. (Pela convenção usual de numeração em inglês com origem no 1, esse é na verdade o quarto elemento do array, já que o elemento inicial tem índice 0.)
O operador de endereço é incomum porque opera sobre um local para armazenar um valor (um lvalue, veja Lvalues), e não sobre o valor atualmente armazenado ali. (O argumento à esquerda de uma atribuição simples também é incomum por esse mesmo motivo.) Você pode usá-lo sobre qualquer lvalue, exceto um campo de bits (veja Campos de Bits) ou um construtor (veja ).
Atualizado
Isto foi útil?