colocar NULL depois de realloc  XML
Índice dos Fóruns » Outras Linguagens
Autor Mensagem
rodrigo.bossini
GUJ Master
[Avatar]

Membro desde: 01/07/2008 20:59:17
Mensagens: 1055
Offline

Oi pessoal,

Tenho um vetor que de vez em quando preciso fazer crescer de tamanho. Para isto estou usando realloc.

Meu problema é o seguinte:

Digamos que eu tenha um vetor com uma única posição, preenchida. Neste momento preciso adicionar um outro objeto, mas quero adicioná-lo na posição 14 do vetor.
Então eu dou um realloc para o vetor ter 15 posições válidas (de 0 a 14) e adiciono o objeto na posição 14, como queria. Mas depois disso eu gostaria que todas as posições
que não tinham um objeto válido sejam preenchidas com NULL. Alguma dica pra solucionar esse problema?

http://www.rodrigobossini.com.br/

Meu Twitter:@rodrigobossini
Se uma pessoa fala português há 30 anos e ainda não aprendeu, por que é que vou acreditar que ela está programando em alguma linguagem de programação há apenas 10 anos e sabe o que está fazendo?
pmlm
GUJ Master

Membro desde: 20/04/2009 12:20:07
Mensagens: 1199
Localização: Portugal
Online

Se criares um vetor com 15 posições e só settares valor na posição 14, todas as outras ficam a NULL...
matheuslmota
Virtual Machine Man

Membro desde: 09/03/2010 15:14:56
Mensagens: 664
Offline

Você pode usar a função memset. Essa função preenche um bloco de bytes com um determinado valor. No seu caso, faça mais ou menos assim:


Isso talvez lhe ajude com seu problema.

Toda vez que você alimenta um troll uma foca morre no Polo Norte.
[MSN]
rodrigo.bossini
GUJ Master
[Avatar]

Membro desde: 01/07/2008 20:59:17
Mensagens: 1055
Offline

matheuslmota wrote:Você pode usar a função memset. Essa função preenche um bloco de bytes com um determinado valor. No seu caso, faça mais ou menos assim:


Isso talvez lhe ajude com seu problema.


Então, nesse seu exemplo eu preciso saber quais as posições têm um objeto válido pra que depois de usar o memset eu possa copiá-las para o novo vetor, certo?
Isso não ajuda muito porque o problema continua o mesmo: como determinar quais posições têm um objeto válido?

http://www.rodrigobossini.com.br/

Meu Twitter:@rodrigobossini
Se uma pessoa fala português há 30 anos e ainda não aprendeu, por que é que vou acreditar que ela está programando em alguma linguagem de programação há apenas 10 anos e sabe o que está fazendo?
matheuslmota
Virtual Machine Man

Membro desde: 09/03/2010 15:14:56
Mensagens: 664
Offline

rod.attack wrote:
matheuslmota wrote:Você pode usar a função memset. Essa função preenche um bloco de bytes com um determinado valor. No seu caso, faça mais ou menos assim:


Isso talvez lhe ajude com seu problema.


Então, nesse seu exemplo eu preciso saber quais as posições têm um objeto válido pra que depois de usar o memset eu possa copiá-las para o novo vetor, certo?
Isso não ajuda muito porque o problema continua o mesmo: como determinar quais posições têm um objeto válido?


Você não informou que o vetor a ser redimensionado poderia ter posições nulas. Se for esse problema, você pode verificar se uma posição é nula antes de adicionar:


Isso garante que você não irá deixar expaços em branco no novo vetor. Você pode adicionar isso ao meu código anterior.
[]'s

Toda vez que você alimenta um troll uma foca morre no Polo Norte.
[MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Movido para o fórum de outras linguagens.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Você vai usar C ou C++?

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
rodrigo.bossini
GUJ Master
[Avatar]

Membro desde: 01/07/2008 20:59:17
Mensagens: 1055
Offline

ViniGodoy wrote:Você vai usar C ou C++?


Precisa ser em C.

http://www.rodrigobossini.com.br/

Meu Twitter:@rodrigobossini
Se uma pessoa fala português há 30 anos e ainda não aprendeu, por que é que vou acreditar que ela está programando em alguma linguagem de programação há apenas 10 anos e sabe o que está fazendo?
matheuslmota
Virtual Machine Man

Membro desde: 09/03/2010 15:14:56
Mensagens: 664
Offline

Mas e ai? Qual a sua dúvida? O que eu lhe disse ajudou em algo?

Toda vez que você alimenta um troll uma foca morre no Polo Norte.
[MSN]
 
Índice dos Fóruns » Outras Linguagens
Ir para:   
Powered by JForum 2.1.8 © JForum Team