josefanini
(usa Outra)
Enviado em 12/06/2016 - 01:51h
boa noite, pessoal! Minha duvida é o seguinte:
criei a seguinte struct e funções no projeto pilha(code block)
typedef struct nodo{
float info;
struct nodo *prox;
}Nodo;
typedef struct pilha{
Nodo *topo;
Nodo *base;
}Pilha;
Nodo *criaNodo(Nodo *prox, float info);
Pilha *criaPilha(void);
Nodo *criaNodo(Nodo *prox, float info)
{
Nodo *n = malloc(sizeof(Pilha));
n->info = info;
n->prox = prox;
return n;
}
Pilha *criaPilha(void)
{
Pilha *p = malloc(sizeof(Pilha));
p->base = NULL;
p->topo = NULL;
return p;
}
depois criei um novo projeto chamado calculadora com a seguinte struct
typedef struct calc{
char f[MAX];
Pilha *p;
}Calc;
Calc *cria(char *formato)
{
Calc *c = malloc(sizeof(Calc));
strcpy(c->f,formato);
c->p = criaPilha();[dando erro bem aqui]
return c;
}
ali onde tem os parenteses ta dando erro (undefined reference to criaPilha() ).
No meu entendimento c->p seria uma variavel do tipo ponteiro pra pilha e receberia o endereço retornado pela funcao normalmente.
Ou c, sendo um ponteiro para struct calc acessando um ponteiro do tipo pilha, vira um ponteiro pra ponteiro ?
E onde eu acho conteúdo que fala desse assunto mais especifico de ponteiro, pois tudo que consultei só aborda o básico?
quem puder me ajudar ficarei grato!