C - struktura v hlavičkovém souboru – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

C - struktura v hlavičkovém souboru – C / C++ – Fórum – Programujte.comC - struktura v hlavičkovém souboru – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Stan
~ Anonymní uživatel
4 příspěvky
15. 10. 2009   #1
-
0
-

Zdravim,
mam soubor .c se strukturou, kterou chci pouzit i v jinem souboru. Za timto ucelem jsem si vytvoril soubor .h ve kterem jsem deklaroval onu strukturu. Ale zrejme spatne. Prekladac me totiz neustale jebe.
Mam to napsane asi takto:
soubor.c



#define POCET_KARET 32

struct karta {
int jeVBalicku;
int hodnota;
char *nazev;
} balicek[POCET_KARET];

soubor.h


#ifndef FCESER_H_
#define FCESER_H_

extern int POCET_KARET;
extern struct karta balicek[POCET_KARET];

#endif /* FCESER_H_ */

A prekladac na to:


array type has incomplete element type
variably modified ‘balicek’ at file scope

Nahlásit jako SPAM
IP: 88.146.193.–
Reklama
Reklama
Wizard0
Stálý člen
15. 10. 2009   #2
-
0
-

akosa my nezda ze si deklaroval POCET_KARET ako int, a inak samotnu definiciu struktury by som hodil do hlavickoveho suboru (samozrejme pokial mas v plane k jej datam pristupovat aj z inych suboroch) a deklaraciu a pola struktory presunul do zdrojoveho suboru a pouzil 'extern' v hlavickovom subore. Snad som to napisal dost pochopitelne :)

Nahlásit jako SPAM
IP: 85.216.193.–
Stan
~ Anonymní uživatel
4 příspěvky
15. 10. 2009   #3
-
0
-

To Wizard : Myslel jsi to nejak takhle?



#ifndef FCESER_H_
#define FCESER_H_

#define POCET_KARET 32
struct karta {
int jeVBalicku;
int hodnota;
char *nazev;
};
extern struct karta balicek[POCET_KARET];

#endif /* FCESER_H_ */

Na to mi rika
previous declaration of ‘balicek’ was here

Nahlásit jako SPAM
IP: 88.146.193.–
Stan
~ Anonymní uživatel
4 příspěvky
15. 10. 2009   #4
-
0
-

To Stan : Dodatek: Hlasi to u radky 11

Nahlásit jako SPAM
IP: 88.146.193.–
bukaj_0010
Věrný člen
15. 10. 2009   #5
-
0
-

Stan
soubor.h:

#ifndef SOUBOR_H

#define SOUBOR_H

#define POCET_KARET 32

typedef struct karta {
int jeVBalicku;
int hodnota;
char *nazev;
} karta;

extern struct karta balicek[];

#endif /* soubor.h */

soubor.c:
#include "soubor.h"


struct karta balicek[POCET_KARET];


Do hlavičkového souboru patří definice (tzn. tak tahle struktura vypadá takhle, tohle makro vypadá takhle, někde jinde /extern/ bude tenhle symbol, který ukazuje na tuhle strukturu a bude pole, tak s tím vším počítej, milý překladači), do zdrojáku deklarace (tenhle symbol je takováhle struktura a má tolik a tolik členů).

Nahlásit jako SPAM
IP: 88.101.128.–
Jak se správně ptát? -> http://www.hash.cz/inferno/otazky.html[br][br] Po programování je člověk hladovej.
Stan
~ Anonymní uživatel
4 příspěvky
16. 10. 2009   #6
-
0
-

To bukaj_001 : Aha. Tak díky moc. Jak je to obecně s .h soubory jsem i věděl, jen jsem nevěděl jak to použít na strukturu.

Nahlásit jako SPAM
IP: 88.146.193.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 112 hostů

Podobná vlákna

Struktura — založil sexmachina

štruktúra — založil street punk

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý