Seja vet um vetor de 4 elementos: TIPO vet[4]. Supor que depois da
declaração, vet esteja armazenado no endereço de memória 4092 (ou seja, o endereço de vet[0]). Supor também que na máquina usada uma variável do tipo char ocupa 1 byte,
do tipo int ocupa 2 bytes, do tipo float ocupa 4 bytes e do tipo double ocupa 8 bytes.
Qual o valor de vet+1, vet+2 e vet+3 se:
a) vet for declarado como char?
b) vet for declarado como int?
c) vet for declarado como float?
d) vet for declarado como double?
Para responder essa pergunta devemos colocar em prática nosso conhecimento sobre Algoritmo e Estrutura de Dados.
Como dito pelo enunciado, uma variável do tipo char ocupa 1 byte, do tipo int ocupa 2 bytes, do tipo float ocupa 4 bytes e por fim uma variável do tipo double ocupa 8 bytes. Esta informação é importante pois são respectivamente os valores acrescido no endereço de memória. Sendo assim:
a) 4092+1; 4092+2; 4092+3
b) 4092+2; 4092+4; 4092+6
c) 4092+4; 4092+8; 4092+12
d) 4092+8; 4092+16; 4092+24
Portanto, com um vetor declarado e ocupando o endereço 4092 que corresponde a primeira posição do mesmo (posição zero), quando o vetor é alterado de posição passando para a posição zero, no endereço de memória é acrescido a quantidade de bytes que cada tipo de variável ocupa e feito assim sucessivamente.
Para escrever sua resposta aqui, entre ou crie uma conta.
Compartilhar