Conceitos de programação: ponteiros

Vamos dar uma olhada em como os ponteiros são usados na linguagem de programação C.

Vamos lidar com duas variáveis:

aptr

Também encontraremos dois personagens principais:

- where
would return the address location of variable
- where
means follow the memory address stored in ptr and set that location to 8

Suponha que a está localizado no endereço 0x8130 na memória e ptr em 0x8134; também suponha que esta seja uma máquina de 32 bits, de modo que um int é de 32 bits em size. O seguinte é o que estaria na memória após a execução do seguinte snippet de código:

int a = 5;int *ptr = NULL;

Endereço Conteúdo
0x8130 0x00000005
0x8134 0x00000000

(O ponteiro NULL mostrado aqui é 0x00000000.) Atribuindo o endereço de a a ptr:

 ptr = &a;

produz os seguintes valores de memória:

Endereço Conteúdo
0x8130 0x00000005
0x8134 0x00008130

Em seguida, desreferenciando ptr codificando:

 *ptr = 8;

o computador pegará o conteúdo de ptr (que é 0x8130), “localize” esse endereço e atribua 8 a esse local, resultando na seguinte memória:

Endereço Conteúdo
0x8130 0x00000008
0x8134 0x00008130

Claramente, acessar a renderá o valor 8 porque a instrução anterior modificou o conteúdo de

por meio do ponteiro ptr.

Leave a Reply

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *