Suponha um modelo de computador em que uma variável do tipo char ocupa 1 byte, a do tipo int ocupa 6 bytes e a do tipo float ocupa 8 bytes.
Suponha ainda que há três variáveis do tipo ponteiro: p, x, z , em que p aponta para uma variável do tipo char armazenado no endereço 4090, x aponta para uma variável do tipo int armazenada no endereço 5092 e y aponta para uma variável do tipo float armazenada no endereço 7094. Foram realizadas as seguintes operações de aritmética de ponteiros: p+1, x+2 e z+3, determine os endereços resultantes :
p->char =1 (variável 'p' aponta para char que ocupa 1 byte) x->int =6 (variável 'x' aponta para int que ocupa 6 byte) z->float=8 (variável 'z' aponta para float que ocupa 1 byte)
Realizando as operações de soma de posições de memória teremos: p+1 : 4090 +1= 4091 x+2 : 5092 + 2*6= 5092+12= 5104 z+3 : 7094 + 3*8=7094+24= 7118
Lista de comentários
p->char =1 (variável 'p' aponta para char que ocupa 1 byte)
x->int =6 (variável 'x' aponta para int que ocupa 6 byte)
z->float=8 (variável 'z' aponta para float que ocupa 1 byte)
Realizando as operações de soma de posições de memória teremos:
p+1 : 4090 +1= 4091
x+2 : 5092 + 2*6= 5092+12= 5104
z+3 : 7094 + 3*8=7094+24= 7118
Espero ter ajudado