» »

C pomoč

C pomoč

Trdi ::

Tole mam za domačo nalogo, pa ne najdem napake, javi mi napako v sedmi vrsti:
LINE 7: two or more data types in declaration of `sestavi'

Tole je glavni program(od tu naprej prilagam le pomembne stvari):
#include
#include
#include "seznam.h"

struct seznam *sestavi(void); /* LINE 7!!!!!!!!! */
void izpisi(struct seznam *);
struct seznam *novi(struct seznam *, struct seznam *);

int main(void)
{
struct seznam *drugi,*prvi;
prvi = sestavi();
drugi = sestavi();

izpisi(prvi);
izpisi(drugi);

prvi = novi(prvi,drugi);
izpisi(prvi);

return 0;
}

Tako zgleda seznam.h:
#ifndef SEZNAM_H
#define SEZNAM_H

struct seznam
{
int el; /* vsebina elementa */
int fr; /* frekvenca */
struct seznam *nasl; /* kazalec na naslednji element seznama */
}
#endif


Funkcija je pa taka. Je v seznam.c in vsi include stavki so v redu:

struct seznam *sestavi()
{
int i,elem,frek;
struct seznam *p = NULL;
struct seznam **q = &p;

for(i = 1; (*q = malloc(sizeof(*p))) != NULL; i++){
printf("%d. element: ",i);
scanf("%d",elem);
printf("%d. frekvenca: ",i);
scanf("%d",frek);
if (frek == 0) break;

(*q)->el = elem;
(*q)->fr = frek;
(*q)->nasl = NULL;
q = &(*q)->nasl;
}
return p;
}

Aja, prototip sem prestavil iz seznam.h v glavni program (brezveze, vem), ampak isto je javilo tudi prej. Tako v seznam.c kot tudi v glavnem programu je javilo napako v vrstici, ki je označena (seveda v seznam.h)

Dejte mi prosim pomagat.
Trdota d.o.o.

gumby ::

Poskusi takole:

typedef struct _seznam
{
int el; /* vsebina elementa */
int fr; /* frekvenca */
struct seznam *nasl; /* kazalec na naslednji element seznama */
} seznam, *pseznam;

------------

pseznam sestavi()
{
pseznam p = NULL;
pseznam *q = &p;
.
.
.
return p;
}


Trdi ::

Hvala, čeprav mislim, da sem že dobil napako, ki je prav banalna. Prepričan sem namreč, da sem vejico na koncu definicije strukture napisal, potem pa sem jo po pomoti izbrisal. No, človek se uči dokler je živ.
Kar se pa tiče te definicije jo pa moram pogledati, ker je še ne poznam. Mi jo je pa predlagalo že precej ljudi. Sem še začetnik, kot lahko opazite.
Trdota d.o.o.

gumby ::

Meni je tudi prevajalnik dostikrat težil pri funkcijah, ki vračajo kazalec na strukturo, zato sem vedno delal na ta način. Pač definiraš strukturo in kazalec nanj kot nov tip in potem ni več problemov. Pa še manj pisanja maš kasneje...


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[C] kazalčni seznam

Oddelek: Programiranje
123081 (2895) MrBrdo
»

[c++]Seznam

Oddelek: Programiranje
142661 (2661) Gundolf
»

[C++] Linker error

Oddelek: Programiranje
51286 (1286) Quikee
»

[C] Povezani seznami in kazalci

Oddelek: Programiranje
242563 (2130) Good Guy
»

[C] Narascajoce sortiranje linearnega seznama

Oddelek: Programiranje
71858 (1747) Jebiveter

Več podobnih tem