Alocação de Memoria - Ajuda!

1. Alocação de Memoria - Ajuda!

Ana Paula da Conceicao Silva
aninhalw

(usa Debian)

Enviado em 05/06/2016 - 18:19h

Oláa novamente rs

Tenho um seguinte exercicio:
Escreva um programa em C, que aloque dinamicamente espaço para 20 números inteiros e os preencha com números impares sequencias iniciando em 3.

int main ()
{
int a=3, i=1, *vet;
vet= malloc(20*sizeof(int));
*(vet+0)=a;
printf("%d\n", vet [0]);

while (i<20)
{
i++;
*(vet+i)=a+=2;
printf("%d\n", *(vet+i));

}

}


Porem não consigo chegar na solução gostaria de saber se alguem pode me ajudar =)


  


2. Re: Alocação de Memoria - Ajuda!

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/06/2016 - 18:57h

Qual o erro ou problema que acontece?

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden[/quote]


3. Re: Alocação de Memoria - Ajuda!

Ana Paula da Conceicao Silva
aninhalw

(usa Debian)

Enviado em 05/06/2016 - 19:04h

Ele não da um erro especifico, se rodar ele no Dev C++ da erro na linha:

vet= malloc(20*sizeof(int));


4. Re: Alocação de Memoria - Ajuda!

Paulo
paulo1205

(usa Ubuntu)

Enviado em 05/06/2016 - 20:56h

Como assim, não dá erro específico? Claro que dá, tanto assim que você diz inclusive em que linha o erro ocorre.

Se você compilar como C, esse problema não ocorrerá. Mas você aparentemente está compilando como C++.

Em C, um ponteiro para void (que é o tipo devolvido por malloc()) é automaticamente convertido em ponteiro para qualquer outro tipo; em C++, a conversão tem de ser feita através de coerção explícita de tipos.

No C++, no entanto, não é de se esperar que você use as funções malloc() e free(), mas sim os operadores new e delete (ou suas variações para arrays). Mas melhor ainda do que isso, especialmente se você quiser variar o número de elementos ao longo da vida do objeto alocado, seria usar std::vector.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts