codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
//------------------------------------------------------------------- // // Um simples exemplo usando realloc ... // //------------------------------------------------------------------- #include <stdio.h> #include <string.h> #include <malloc.h> typedef struct Tdata Tdata; struct Tdata { char *nome; int i; // qualquer valor se precisar ... }; Tdata **pessoa; int pessoa_len; // esse eh usado para marcar o tamanho de "realloc" void novo_cadastro (char *nome, int i) { // nova array // pessoa = (Tdata**) realloc (pessoa, (pessoa_len+1) * sizeof (Tdata*)); // cria mais um tipo // Tdata *n = (Tdata*) malloc (sizeof(Tdata)); n->nome= strdup (nome); n->i = i; // coloca o tipo criado na array ( pessoa ); // // ATENCAO: vc so deve incrementar ( pessoa_len ) aqui no final ... // pessoa [pessoa_len++] = n; } int main () { int i; novo_cadastro ("Joao", 100); novo_cadastro ("Maria", 200); novo_cadastro ("Antonio", 300); novo_cadastro ("Jose", 400); novo_cadastro ("Inacio", 500); for (i=0; i < pessoa_len; i++) printf ("nome: %s, %d\n", pessoa[i]->nome, pessoa[i]->i); printf ("Programa terminado com sucesso ... \n"); return 0; }
Private
[
?
]
Run code
Submit