Tamanho de uma matriz
:( Alguem poderia explicar o texto abaixo ?
o compilador C calcula o tamanho, em bytes, necessário para armazenar uma matriz. Este tamanho é: tam1 x tam2 x tam3 x ... x tamN x tamanho_do_tipoO compilador então aloca este número de bytes em um espaço livre de memória. O nome da variável que você declarou é na verdade um ponteiro para o tipo da variável da matriz. Este conceito é fundamental. Eis porque: Tendo alocado na memória o espaço para a matriz, ele toma o nome da variável (que é um ponteiro) e aponta para o primeiro elemento da matriz. Mas aí surge a pergunta: então como é que podemos usar a seguinte notação? nome_da_variável[índice]Isto pode ser facilmente explicado desde que você entenda que a notação acima é absolutamente equivalente a se fazer: (nome_da_variável+índice)Agora podemos entender como é que funciona um vetor! Vamos ver o que podemos tirar de informação deste fato. Fica claro, por exemplo, porque é que, no C, a indexação começa com zero. É porque, ao pegarmos o valor do primeiro elemento de um vetor, queremos, de fato, nome_da_variável e então devemos ter um índice igual a zero. Então sabemos que: *nome_da_variável é equivalente a nome_da_variável[0]
Obrigado,
Discussão (2)
Carregando comentários...