Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

José A. S.

Novato - Definir tamano de vetor em tempo de execução

Recommended Posts

Estou trabalhando em um código para Arduino que utiliza um vetor que contem outros vetores, como abaixo.

 

byte teste[3][4] = { {1,2,3,4}, {10,11,12,13}, {14,15,16,17};

 

Como posso definir em tempo de execução o numero de elementos do vetor principal, ou seja, dependendo de uma varável/condição o vetor principal pode ter 1, 2 ou 3 elementos?

 

Nos meus testes o copilador não aceita criar o vetor tendo o numero de elementos definido por uma variável, ou seja, assim não funciona:

 

byte teste[num][4] = { {1,2,3,4}, {10,11,12,13}, {14,15,16,17};

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar variable lenth arrays, que foram adicionados à linguagem a partir da penúltima versão (C99). Contudo, vai precisar estipular um tamanho fixo para cada vetor-elemento, já que do contrário a definição de vetor em si seria quebrada. No seu exemplo há dois problemas: o tamanho diferente dos arrays-elemento e a falta de chaves fechando a initializer list.

 

Outra opção, se C99 não estiver disponível, é usar allocated storage. Para isso, pesquise sobre o uso de malloc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.