Enviado em 01/11/2017 - 11:51h
Estou fazendo um trabalho pra faculdade, estou tentando usar headers pra não colocar todas as funções no msm arquivo, porém quando compilo o arquivo principal o compilador diz que eu fiz uma referência indefinida as funções que deveriam ter sido importadas do header, segue os códigos:#include <stdio.h>
#include <stdlib.h>
#include "fila.h"
typedef struct{
void* *vetor;
int tamanho;
int ocupacao;
} VDFila;
VDFila criarFila(){
VDFila fila;
fila.tamanho = 2;
fila.ocupacao = 0;
fila.vetor = malloc(sizeof(void*)*fila.tamanho);
return fila;
}
void enfileirar(VDFila *fila, void* elemento){
if (fila->tamanho == fila->ocupacao){
fila->tamanho = fila->tamanho*2;
fila->vetor = realloc(fila->vetor, sizeof(void*)*fila->tamanho);
}
fila->vetor[fila->ocupacao] = elemento;
fila->ocupacao++;
}
void desenfileirar(VDFila *fila){
for (int i = 0; i < (fila->ocupacao - 1); i++){
fila->vetor[i] = fila->vetor[i+1];
}
fila->ocupacao--;
}
void primeiroInt(VDFila *fila){
int *i;
i = fila->vetor[0];
printf("%d\n", *i);
}
void primeiroDouble(VDFila *fila){
double *i;
i = fila->vetor[0];
printf("%.3lf\n", *i);
}
void ultimoInt(VDFila *fila){
int *i;
i = fila->vetor[fila->ocupacao - 1];
printf("%d\n", *i);
}
void ultimoDouble(VDFila *fila){
double *i;
i = fila->vetor[fila->ocupacao - 1];
printf("%.3lf\n", *i);
}
void comprimento(VDFila *fila){
printf("%d\n", fila->ocupacao);
}
void vazia(VDFila *fila){
if(fila->ocupacao == 0){
printf("verdadeiro");
}else{
printf("falso");
}
}
typedef struct{
void* *vetor;
int tamanho;
int ocupacao;
} VDFila;
VDFila criarFila();
void enfileirar(VDFila *fila, void* elemento);
void desenfileirar(VDFila *fila);
void primeiroInt(VDFila *fila);
void primeiroDouble(VDFila *fila);
void ultimoInt(VDFila *fila);
void ultimoDouble(VDFila *fila);
void comprimento(VDFila *fila);
void vazia(VDFila *fila);
#include <stdio.h>
#include <stdlib.h>
#include "fila.h"
void main(){
int *x;
VDFila fila = criarFila();
x = malloc(sizeof(int));
scanf("%d", x);
enfileirar(&fila, x);
int *i;
i = fila.vetor[0];
printf("%d\n", *i);
}
Criar entrada (menuentry) ISO no Grub
Como gerar qualquer emoji ou símbolo unicode a partir do seu teclado
Instalar o VIM 9.1 no Debian 12
Como saber o range de um IP público?
Muitas dificuldades ao instalar distro Linux em Notebook Sony Vaio PCG-6131L (VPCEA24FM)
Slackpkg+ (Slackpkg Plus) está de volta!
Como dividir duas janelas igualmente e lado-a-lado na sua tela
Como redefinir o diretório Home? (4)
Problemas com adaptadores wifi no Zorin (1)
Ocomon 6.0.1 - Problemas ao editar configurações estendidas (7)