Mali problem u C

toxi

Zainteresovan član
Poruka
379
Imam sledeci problem:
Ako napisem

static char rec= {"Zdravo"};

ima eror (illegal initializer). A ako sklonim zagrade nema greske.

E ali ako ocu da dam neku vrednost strukturi :

struct covek_st{ int broj;
char ime;} ja;
ja={123,"todic"};

Neradi.Pise "Parse Error" . . . Znam da moze preko '.' ili '->' ali u knjizi pise ono sa zagradama.
Sto onda neradi? Sta treba da bi radilo?
 
toxi:
Imam sledeci problem:
Ako napisem

static char rec= {"Zdravo"};

ima eror (illegal initializer). A ako sklonim zagrade nema greske.

E ali ako ocu da dam neku vrednost strukturi :

struct covek_st{ int broj;
char ime;} ja;
ja={123,"todic"};

Neradi.Pise "Parse Error" . . . Znam da moze preko '.' ili '->' ali u knjizi pise ono sa zagradama.
Sto onda neradi? Sta treba da bi radilo?
Zato sto je char karakter tj. jedan znak, pisi ovako static char rec[]="zdravo";
A sto se tice struktura idi preko '.', ili jos bolje uzmi uci klase.
 
toxi:
a da zaboravih [] . Ali nije problem u tome nego jer u knjizi pise sa zagradama a a neradi-pa jel bi trebalo da radi radi sa zagradama ili ne(za strukturu)?

Pokusaj da u uglate zagrade stavis broj duzine stringa....

Pogledaj primer dole....

/*
typedef struct {
int povlastica, km, odrediste, prtljag, cenakarte;
char ime[40];
} TRezervacija;
*/

Uzgred, ne mozes dodeljivati vrednosti strukturi tek tako.... Koliko ja znam, moras dodeliti vrednost svakom clanu strukture ponaosob....
 
1. Pogledaj malo shta su pointeri, i kakva je razlika izmedju niza char-ova i pointera na char (tj. nikakva).

2. @sucur : klase i strukture u C++u su potpuno ista stvar, jedina razlika je default pristup (private kod klase, public kod struct). Ako kod ne radi sa "struct" nece raditi ni sa "class".

Mada je ovaj kod definitivno C, a ne C++ (u C++u ne postoji potreba za "typedef struct..." kao u C-u, jer struct definishe tip)

3. Chlanovima strukture MOGU SE dodeliti vrednosti "grupno", ali SAMO u toku inicijalizacije, nikako kasnije u kodu.
Znachi, umesto :
Kod:
struct covek_st{ int broj;
char ime;} ja;
ja={123,"todic"};

treba

Kod:
struct covek_st{ int broj;
char * ime;} ja = {123,"todic"};

(obrati pazhnju na pointer, i inicijalizaciju u istoj liniji sa deklaracijom)
 
Lord British:
2. @sucur : klase i strukture u C++u su potpuno ista stvar, jedina razlika je default pristup (private kod klase, public kod struct). Ako kod ne radi sa "struct" nece raditi ni sa "class".
Znam da su jedna te ista stvar, al' imaju drugaciju sintaksu, tako da nikada nisam obracao paznju na structure, kada znam klase, upravo zbog toga sto rade istu stvar, zato sam i govorio da ja radim sa klasama, da sam mislio da su razlicite stvari, nebi bilo logike to spominjati.
 
@toxi ja sam iz Srpskog Sarajeva, a onu igru sam radio sa openGL i C++, iznad ovog posta kolega ti je rekao sta je dakle openGL, znaci ti sa njim mozes sve da odradis sto se tice grafike, da stavis likove, okolinu, particle systeme, ali sve to da bi funkcionisalo moras da sa nekim programskim jezikom povezes, ja licno koristim c++.
 
znaci moze c?
Ima li neka knjiga za to?
Imam onaj Visual Studio 6.0,jel mi treba nesto jos za taj openGL?
Dakle to je gomila funkcija pa sve sto mogu sa njim mogu i bez njega samo teze?Jesam li u pravu?
 
nije, c# mnogo vise lici na c++(ili mozda javu).
c# je objektno orjentisan, kao i c++ i java, i ima slicnu sintaksu kao c++, a slican nacin razmisljanja kao u javi ( recimo tako).
 
Toxi dakle mozes koristiti MSVS kompajler i potrebne su ti odredjene biblioteke koje koristi openGL, recimo glu.lib, glaux.lib itd neznam tacno sve koje su potrebne pogledaj na netu. A Lord British ti je dao odgovor za pitanje uvezi rada sa openGL.
Dalje C# (sharp) je novi jezik koji je predstavljen kao snaga C++, i lakoca VB-a.
 
Shta znam, ja sam C++ uchio iz Laslove (Laslo Kraus) knjige i zbirke i moram priizanti da su odlichno odradjene. Kao i to da posle njih mozzesh imati pristojno znanje, shto opet zavisi iskljuchivo od tebe tj. od tvog truda i rada, naravno. Eto, to ti je moja preporuka. Pozdrav i sreccno ! :)
 

Back
Top