Ir para conteúdo
Fórum Script Brasil
  • 0

Como se iguala duas matrizes inteiras?


Fabrizio Barrow

Pergunta

6 respostass a esta questão

Posts Recomendados

  • 0

O colega também pode fazer uma cópia do bloco de memória da primeira pra segunda matriz. Aliás, respondendo à questão feita: matrizA = matrizB não pode ser feito para a cópia do conteúdo de uma matriz para outra. Até porque matrizA e matrizB contém apenas ponteiros para blocos de memória.

Editado por Maligno
Link para o comentário
Compartilhar em outros sites

  • 0

Errado.

Uma string é uma matriz, de fato. Mas strcpy() só poderia ser utilizada em um caso de cópia de matriz. E só neste caso. Basta que a matriz a copiar seja uma pouco mais elaborada e a função já não poderia mais ser utilizada. Daí só restam duas alternativas: copia de elemento a elemento ou cópia de todo o bloco de memória da matriz.

Link para o comentário
Compartilhar em outros sites

  • 0

Só uma observação:

matriz != vetor

matriz é um vetor bidimensional.

Uma string como "teste" é um vetor de caracteres, não uma matriz de caracteres.

Na verdade nem existe matriz. A gente trata um vetor bidimensional como matriz, mas, computacionalmente falando, matriz não existe. Tanto é que podemos declarar um ponteiro do tipo *valor - o que muitos interpretariam como um vetor - e tratar como matriz (vetor bidimensional), como vetor tridimensional... Afinal, a memória é linear

Link para o comentário
Compartilhar em outros sites

  • 0

Esse assunto é muito controverso. Realmente não dá pra dizer que matriz é igual a vetor, nem que matriz é um termo que não existe. Tampouco dá pra dizer que vetor existe como estrutura de dados pois, na acepção da palavra, vetor é apenas um indicador. A própria norma ANSI ISO/IEC 9899, que regulamenta a linguagem C, usa o termo "vector" apenas como um ponteiro, e em pouquíssimas ocasiões. Nunca usam "vector" para indicar uma estrutura de dados.

Muitos tradutores de bons livros de programação usam (por sua conta) tanto o termo vetor como o termo matriz. Mas no rigor do jargão, como eu disse, ambos estão errados. Alguns tradutores nem traduzem e mantém como "array" mesmo. Esse é o termo correto. Sem traduzir.

Entretanto, como é de costume em algumas situações, as pessoas criam o hábito de usar traduções. A meu ver fica mais simpático. E o mais importante: dá pra entender perfeitamente.

Particularmente eu prefiro o termo matriz, pois eu encaro vetor como ele é: um mero apontador. Claro que, na eventualidade de precisar procurar algo sobre o assunto, eu não uso "matrix", nem tampouco "vector". Uso "array". Senão eu não encontraria coisa alguma. :)

Portanto, se quiser ser tão rigoroso no uso do jargão, adote o termo "array". Aí sim você estará certo, embora sua vida não mude um milímetro sequer. :)

Em suma: essa discussão é inócua.

PS: Quase esqueci de dizer: "vector" é também um tipo de dados da STL de C++.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...