Buscar

Exemplos Aula 07-1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

1 
Exemplo 
 
 
Armazenar a profissão de 2000 pessoas: 
char profissao[2000][21]; 
 
Como são duas mil pessoas, optamos em dimensionar o número de linhas de acordo 
com o número de pessoas e, como acreditamos que um nome de profissão não tem 
mais do que 20 caracteres, determinamos 21. 
 
O armazenamento de uma matriz bidimensional na Memória Principal é feito de forma 
contígua, isto é, como se fosse uma matriz linha onde os elementos são alocados um 
após o outro. 
 
Sabemos que a princípio pode parecer complexo, mas isso não interfere na sua 
imaginação. O importante é você saber como acontece. 
 
Seja a uma matriz do tipo inteira com 3 linhas e duas colunas de nome mat. 
 
Observe como fica o armazenamento dessa matriz na Memória Principal 
 
 
 










6
78
9
1
34
15
mat 3x2 
 
 
 
 
 
 
 
 
 
 
 
 2 
Supondo que o endereço inicial é 60000, o final será 60023 porque são 6 varáveis do 
tipo inteira e cada variável inteira (int) precisa de 4 posições de memória para 
armazenar o número. 
 
 
 
 
 
O deslocamento entre linhas é feito usando a seguinte expressão: 
 
Endereço base + número de colunas da matriz * deslocamento linha * 
número de bytes para o tipo inteiro 
 
Exemplos: 
 
a) para chegar à segunda linha (1): 60000 + 2 * 1 * 4= 60008 
b) para chegar à terceira linha (2): 60000 + 2 * 2 * 4= 60016 
 
O deslocamento entre as colunas da linha é feito usando a seguinte expressão: 
 
Endereço base calculado pela fórmula anterior + deslocamento coluna 
* número de bytes para o tipo inteiro 
 
Exemplos: 
 
a) para chegar à segunda linha (1)/ segunda coluna (1): 60008 + 1 * 4= 60012 
b) para chegar à terceira linha (2)/ segunda coluna (1): 60016 + 1 * 4= 60020

Outros materiais