Ajuda com alocação dinâmica em C

2 respostas
C

Fala pessoal, beleza?
Meu problema é o seguinte: Eu tenho vários arrays de chars no meu programa e gostaria de alocar eles em um outro array, mas um de cada vez. O que eu estou fazendo é o seguinte:

// ...
int  *keynum;
char a[keynum];

//...

int main(){
char p1[11]="computador";

keynum = (int *) malloc( ((sizeof(p1)) * (sizeof(int)) );

//...

Aí o compilador fala que o tamanho do array a não tem integridade com o tipo 'int*'
Alguém sabe como eu posso solucionar isso?
Pesquisei no google sobre arrays com alocação dinâmica, mas ainda não entendi isso muito bem.

2 Respostas

peczenyj

Vc tem 2 problemas

  1. o correto é
  1. o trecho

int *keynum; char a[keynum];

Não faz sentido. keynum deveria ser uma constante ou uma macro para vc poder compilar esse codigo.

ex:

const int xxx; char a[xxx];

ViniGodoy

Ops, falei besteira.

Criado 28 de julho de 2008
Ultima resposta 28 de jul. de 2008
Respostas 2
Participantes 3