paulo1205
(usa Ubuntu)
Enviado em 24/03/2014 - 17:14h
Viana3,
Por favor apague aquela postagem que ficou com código HTML aberto, e corrija a postagem seguinte, substituindo o
[\code], que você colocou, por
[/code].
Pelo exemplo que você mostrou, parece que o seu professor está chamando de "array" um bloco de memória alocado dinamicamente, contrapondo-lhe como "vetor" aquilo que o C chama de "
arrays", ou seja, aqueles que são declarados com largura conhecida (ou reconhecível) em tempo de compilação (por exemplo: “
int arr_int[10];”.
Isso, cumpre notar, é uma opção de nomenclatura que ele faz. E, aliás, os "arranjos" dele são bem limitados, não? Só inteiros, e dependentes de uma sintaxe longa para fazer atribuições e consultas.
----
Rei_astro,
Eu também me referi e refiro ao conceito em programação e, ao mesmo tempo, àquilo que é mapeado nos computadores que nós temos: numa arquitetura von Neumann, um bloco de memória contíguo, que inicia num determinado endereço e é percorrido, para ter acesso a diferentes elementos, por meio de um ou mais índices aplicados ao endereço inicial.
Existe um aspecto histórico que contamina, por assim dizer, não somente esta discussão, mas o uso corrente dos termos no mundo da Informática. Quando surgiu a linguagem Fortran, que passou a dominar (e domina ainda hoje) a computação científica, os compiladores começaram a oferecer meios de mapear automaticamente as matrizes e os vetores, usados pelos algoritmos de Álgebra Linear, em
arrays. Por analogia,
arrays bidimensionais eram chamados de "matrizes", embora tão-somente as representassem, e, do mesmo modo, o termo "vetor", que originalmente designava apenas um ente matemático, virou sinônimo da estrutura de dados que o representava, um
array unidimensional.
O uso dos termos "
array", "arranjo" e "vetor" em diferentes nichos e linguagens soa totalmente arbitrário. Parece-me, por exemplo, que a STL do C++ preferiu usar "
vector" não por causa da entidade matemática "vetor", mas para diminuir as chances de confusão entre o novo tipo e os
arrays nativos, herdados do C.
Quanto ao uso que tem em Java, bem... Eu acho que muitas das escolhas dessa linguagem são um tanto infelizes, mesmo que haja muitos "papas" desta ou daquela área que as endossem -- e como se não existissem outros "papas" que as refutam. Entre as coisas que me incomodam nela está a própria existência de uma classe coringa
Object, que é superclasse de
quase tudo (por mim, ou seria de absolutamente tudo, ou não deveria existir, e fim de papo). Outra é que
arrays sejam instâncias dessa joça.
Ainda bem, em todo caso, que esta comunidade não é de Java. ;)
Em tempo: o código postado é C, sim. Só que parece ser de um ".h", não ".c".
----
Alguém sabe o que está acontecendo com o fórum? A função de editar uma postagem já postada desformata tudo, e os blocos
[quote] e
[/quote] simplesmente não estão fazendo efeito.