[Prévia cron] [Próxima Cron] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto] [Índice de autor]

Re: RES: alocação dinâmica



Daniel, aí vai o pouco que eu sei.

Para inicializar a matriz TESTE tipo MATRIX com campos Tab.x e Tab.y:
typedef struct {
  Celula **Tab;
} MATRIX;

typedef struct {
  int x;
  int y;
} Celula,*CelulaP;

MATRIX TESTE;
tamY=10;

TESTE.Tab=(CelulaP*)malloc(sizeof(Celula)*tamY);
for(i=0;i<10;i++)
    TESTE.Tab[i] = (CelulaP)malloc(sizeof(Celula)*BoardX);


Mais abaixo vai uma música para cantarmos em coro:

ÁGUAS DE MARÇO

Letra e Música: Tom Jobindows

É pau, é bug
É o fim do programa
É um erro fatal
O começo do drama
É o turbo Pascal
Diz que falta um begin
Não me mostra onde é
E capota no fim
É dois, é três
É o 486,
Instrução ilegal
Essa merda bloqueia
É um erro no boot
É um disco mordido
Hard disk estragado
Ai meu deus tô fudido
São as barras de espaço
Exibindo um borrão
É a promessa de vídeo
Se espalhando no chão
É o computador
Me fazendo de otário
Não compila o programa
Salva só o comentário
É o ping, é o pong
O meu micro reboota
O Scan não retira
Vírus filho da puta
O Windows não entra
E nem volta pro DOS
Não funciona o reset
Me detona a CMOS
É abort, é retry
Disco mal formatado
PCTools não resolve
Norton trava o teclado
É impressora sem fita
Engolindo o papel
Meu trabalho de dias
Foi cuspido pro céu....








Daniel wrote:

>           Será que alguém pode me ajudar?
> Eu não sei inicializar uma matriz cujas dimensões são lidas pelo programa.
> Eu sei que deve ter a ver com malloc, mas não sei exatamente como fazer.
>
> Obrigado,
> David
>
>         Bom, vou tentar ajudar pelas minhas anotações:
>
> int **matriz;
> matriz (double **) malloc (n * sizeof (double *));
> if (a == NULL)
>     erro;
> for (i=0; i < m; i++) {
>     a [i] = (double *) malloc (n * sizeof (double));
>     if (a [i] == NULL)
>         erro;
>     .
>     .
>     .
> }
>
>         Acho que é isso...
>
> []'s
> Daniel Dominguez