Problema ao liberar regioes

Re: Problema ao liberar regioes

por Eron Ferreira de Castro Júnior -
Número de respostas: 0

Ae, Thiago,  eu enviei meu programa ao professor e ele me mostrou meu erro. Veja se você não fez a mesma coisa:

Prof. José Coelho de Pina:

o seu programa não alocou o número certo de bytes para as estruturas
  dos tipos CelRegiao e CelPixel.

----------------------------------------------------------------

Para inserir uma nova região:


  CelRegiao *nova;

  /* regiao = (CelRegiao *) mallocSafe(sizeof(regiao)); ERRO */

o certo é

  regiao = (CelRegiao *) mallocSafe(sizeof(*regiao));     ou
  regiao = (CelRegiao *) mallocSafe(sizeof *regiao);      ou
  regiao = (CelRegiao *) mallocSafe(sizeof(CelRegiao)); nas aulas tenho feito assim

------------------------------

Ao inserir um pixel

  CelPixel *pixel;
  /* pixel = (CelPixel *) mallocSafe(sizeof(pixel)); ERRO */

o certo é

  pixel = (CelPixel *) mallocSafe(sizeof(*pixel));    ou
  pixel = (CelPixel *) mallocSafe(sizeof *pixel);     ou
  pixel = (CelPixel *) mallocSafe(sizeof(CelPixel)); nas aulas tenho feito assim

 

Espero que ajude!

 

Abs