Não sei se isso ajuda muita gente... Mas, para instanciar uma variável em uma função de C, pode-se fazer assim:
#include <stdio.h>
#include <stdlib.h>
//Tipo "registro": estrutura que possui uma variavel id do tipo inteiro
typedef struct registro
{
int id;
} registro;
//Função que recebe um ponteiro de um ponteiro da estrutura "registro"
void iniciarRegistro(registro** reg)
{
//Aloco memória para a estrutura "registro"
*reg = (registro*) malloc(sizeof(registro));
//Seto o id como 10
(*reg)->id = 10;
}
//Função principal
int main(int num_args, char** arg)
{
//Objeto r do tipo "registro", sem instância (NULL)
registro* r = NULL;
//Chamo a função para instanciar r (passo r como paramêtro)
iniciarRegistro(&r);
//Escrevo o valor na tela (10)
printf("Registro ID: %d\n", r->id);
//Libero memória
free(r);
//Termino a aplicações com status OK
return 0;
}
E não é que funciona mesmo? :P
Até mais!
Nenhum comentário:
Postar um comentário