Bom, estou com um erro que não consigo identificar a causa dele. Se alguém poder me ajudar eu agradeço.
Eis o código.
#include <stdio.h>
#include <stdlib.h>
#include "lista_ligadah.h"
int main(){
Lista *lista;
int valor, i, numero_de_celulas;
lista= criar_lista_vazia;
scanf("%d%d", &valor, &numero_de_celulas);
for(i=0; i<numero_de_celulas; i++){
inserir_valor(&lista, valor); //o erro está nesta linha.
valor= valor+2; //está linha é simplesmente para que a lista não tenha todos os termos de mesmo valor.
}
return 0;
}
Agora o arquivo lista_ligadah.c (eles estão em arquivos diferentes, lista_ligadah é a biblioteca que criei)
#include <stdio.h>
#include <stdlib.h>
#include "lista_ligadah.h"
void inserir_valor(Lista **inicio, int valor){
Lista *celula = malloc( sizeof ( Lista ));
celula->conteudo= valor;
celula->prox= *inicio;
*inicio= celula;
}
Lista é o tipo de dado que criei.
typedef struct lista{
int conteudo;
struct lista *prox;
} Lista;
o arquivo .h está correto, então achei melhor não coloca-lo, juntamente com a função criar_lista_vazia para não sobrecarregar a leitura.
o algoritmo cria uma lista ligada com a função criar_lista_vazia, e depois preenche com n termos (numero_de_celulas),
uso o codeblocks 13.12 no ubuntu 16.04.
este é o erro: main.c|14|referência indefinida para `inserir_valor'|