Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

default mem. klasa za fje?
WWW:

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
mARio
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 12. 10. 2003. (21:49:21)
Postovi: (1E)16
Sarma = la pohva - posuda
= 0 - 0
Lokacija: Pingvinija...

PostPostano: 17:51 ned, 26. 6. 2005    Naslov: default mem. klasa za fje? Citirajte i odgovorite

znaci, pitanje je koja je defaultna memorijaska klasa za funkcije (po ANSI C)?
trebala bi biti "extern"...

tnx.
znaci, pitanje je koja je defaultna memorijaska klasa za funkcije (po ANSI C)?
trebala bi biti "extern"...

tnx.



_________________
.../\...
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
mdoko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 30. 11. 2002. (22:17:12)
Postovi: (71A)16
Spol: muško
Sarma = la pohva - posuda
199 = 237 - 38
Lokacija: Heriot-Watt University, Edinburgh

PostPostano: 19:58 ned, 26. 6. 2005    Naslov: Citirajte i odgovorite

extern nije memorijska klasa. Memorijske klase su auto, static i register.

Funkcije nemaju memorijske klase, ali se moze definirati npr.
[code:1]static void f(int, int){}[/code:1]
to znaci da se ta funkcija moze koristiti samo u source fileu u kojem je definirana, sto moze biti korisno ako npr. imas u jednom source fileu neku pomocnu funkciju koja se koristi samo u tom fileu i ne zelis dopustiti koristenje te funkcije izvan tog source filea.
extern nije memorijska klasa. Memorijske klase su auto, static i register.

Funkcije nemaju memorijske klase, ali se moze definirati npr.
Kod:
static void f(int, int){}

to znaci da se ta funkcija moze koristiti samo u source fileu u kojem je definirana, sto moze biti korisno ako npr. imas u jednom source fileu neku pomocnu funkciju koja se koristi samo u tom fileu i ne zelis dopustiti koristenje te funkcije izvan tog source filea.



_________________
Extraordinary claims require extraordinary evidence. – Carl Sagan
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
mARio
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 12. 10. 2003. (21:49:21)
Postovi: (1E)16
Sarma = la pohva - posuda
= 0 - 0
Lokacija: Pingvinija...

PostPostano: 21:42 ned, 26. 6. 2005    Naslov: Citirajte i odgovorite

[quote="mdoko"]extern nije memorijska klasa. Memorijske klase su auto, static i register.

Funkcije nemaju memorijske klase, ali se moze definirati npr.
[code:1]static void f(int, int){}[/code:1]
to znaci da se ta funkcija moze koristiti samo u source fileu u kojem je definirana, sto moze biti korisno ako npr. imas u jednom source fileu neku pomocnu funkciju koja se koristi samo u tom fileu i ne zelis dopustiti koristenje te funkcije izvan tog source filea.[/quote]

e pa sad. znam ja mdoko da ti mnogo znash i cijenim te mnogo ali sto nije ovo malo sad trcanje pred rudo?!?

uostalom, kako mozesh reci da fje nemaju memorijsku klasu pa jednu mem klasu "nakacis" na fju?!? :)

to je isto kao sto sam danas gledao na dnevniku oko dvojnih drzavljanstava njemacko-rvackih, ono kaze njemacko veleposlanstvo u nas: "Njemačko državljanstvo ne može se oduzeti. No moguće je izgubiti ga [url=http://www.deutschebotschaft-zagreb.hr/hr/home/staatsangehoerigkeit_hr.html]...[/url]"

:)

no, cuj, pishe i u skripti prof. Juraka da uz ove tri (koje ti spominjesh) extern isto tako JEST mem klasa.
no, ti vjerojatno ondak pricas o nekoj drugoj implementaciji standarda, ili???

no, tnx za info, znah to o staticu.
(a cini mi se da se zato bash i upotrebljava to posto su fje po defaultu externe mem klase. ke ne??)

m.m

P.S.
ako ovo ima neke dublje posljedice, tj ako iza svega stoji prica kao jednom onomad sto se postalo, da zapravo nema tu nekog 'chara' vec s sve integeri, tj nema razlike u mem zapisu vec samo u tumacenju, ondak bi bio i vishe nego zahvalan da se to rastumaci, naravno ako postoji volja za tako nesto.
mdoko (napisa):
extern nije memorijska klasa. Memorijske klase su auto, static i register.

Funkcije nemaju memorijske klase, ali se moze definirati npr.
Kod:
static void f(int, int){}

to znaci da se ta funkcija moze koristiti samo u source fileu u kojem je definirana, sto moze biti korisno ako npr. imas u jednom source fileu neku pomocnu funkciju koja se koristi samo u tom fileu i ne zelis dopustiti koristenje te funkcije izvan tog source filea.


e pa sad. znam ja mdoko da ti mnogo znash i cijenim te mnogo ali sto nije ovo malo sad trcanje pred rudo?!?

uostalom, kako mozesh reci da fje nemaju memorijsku klasu pa jednu mem klasu "nakacis" na fju?!? Smile

to je isto kao sto sam danas gledao na dnevniku oko dvojnih drzavljanstava njemacko-rvackih, ono kaze njemacko veleposlanstvo u nas: "Njemačko državljanstvo ne može se oduzeti. No moguće je izgubiti ga ..."

Smile

no, cuj, pishe i u skripti prof. Juraka da uz ove tri (koje ti spominjesh) extern isto tako JEST mem klasa.
no, ti vjerojatno ondak pricas o nekoj drugoj implementaciji standarda, ili???

no, tnx za info, znah to o staticu.
(a cini mi se da se zato bash i upotrebljava to posto su fje po defaultu externe mem klase. ke ne??)

m.m

P.S.
ako ovo ima neke dublje posljedice, tj ako iza svega stoji prica kao jednom onomad sto se postalo, da zapravo nema tu nekog 'chara' vec s sve integeri, tj nema razlike u mem zapisu vec samo u tumacenju, ondak bi bio i vishe nego zahvalan da se to rastumaci, naravno ako postoji volja za tako nesto.



_________________
.../\...
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
mdoko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 30. 11. 2002. (22:17:12)
Postovi: (71A)16
Spol: muško
Sarma = la pohva - posuda
199 = 237 - 38
Lokacija: Heriot-Watt University, Edinburgh

PostPostano: 18:53 pon, 27. 6. 2005    Naslov: Citirajte i odgovorite

[quote="mARio"]
e pa sad. znam ja mdoko da ti mnogo znash i cijenim te mnogo ali sto nije ovo malo sad trcanje pred rudo?!?
[/quote]
Nije. :wink:
[quote]
uostalom, kako mozesh reci da fje nemaju memorijsku klasu pa jednu mem klasu "nakacis" na fju?!? :)
[/quote]
Keyword static kada se koristi za funkciju ima drugacije znacenje nego kada se koristi za varijable. Za varijable znaci da ce varijabla imati static memorijsku klasu, a za funkcije ima gore opisano znacenje. Pri izradi standarda nije se zeljelo komplicirati uvodjenjem dodatnog keyworda, pa zato mozes static "nakaciti na funkciju".

[quote]
no, cuj, pishe i u skripti prof. Juraka da uz ove tri (koje ti spominjesh) extern isto tako JEST mem klasa.
no, ti vjerojatno ondak pricas o nekoj drugoj implementaciji standarda, ili???
[/quote]

Evo objasnjenja za extern:
Kada deklariras varijablu npr. [code:1] int i;[/code:1] zapravo si je i definirao, tako da ako u vise source fileova zelis imati istu globalnu varijabu, onda je u jednom i samo jednom fileu mozes definirati (svaka definicija je ujedno i deklaracija), a u ostalima je moras samo deklarirati, jer bi inace dobio compile time error radi redefinicije varijable. To radis sa [code:1]extern int i;[/code:1], sto kompajleru daje do znanja kojeg je tipa varijabla i, te da je ona definirana u nekom drugom source fileu.
Kod funkcija je jednostavno razlikovati definiciju i cistu deklaraciju (prototip) tako sto definicija ima tijelo funkcije, a prototip ga nema. Radi toga je svaka deklaracija funkcije po defaultu extern, pa to nije potrebno (iako se moze) navoditi.

Dakle extern (za razliku od auto, static i register) ne govori o nacinu smjestaja varijable u memoriji, pa to [b]nije[/b] memorijska klasa.
mARio (napisa):

e pa sad. znam ja mdoko da ti mnogo znash i cijenim te mnogo ali sto nije ovo malo sad trcanje pred rudo?!?

Nije. Wink
Citat:

uostalom, kako mozesh reci da fje nemaju memorijsku klasu pa jednu mem klasu "nakacis" na fju?!? Smile

Keyword static kada se koristi za funkciju ima drugacije znacenje nego kada se koristi za varijable. Za varijable znaci da ce varijabla imati static memorijsku klasu, a za funkcije ima gore opisano znacenje. Pri izradi standarda nije se zeljelo komplicirati uvodjenjem dodatnog keyworda, pa zato mozes static "nakaciti na funkciju".

Citat:

no, cuj, pishe i u skripti prof. Juraka da uz ove tri (koje ti spominjesh) extern isto tako JEST mem klasa.
no, ti vjerojatno ondak pricas o nekoj drugoj implementaciji standarda, ili???


Evo objasnjenja za extern:
Kada deklariras varijablu npr.
Kod:
 int i;
zapravo si je i definirao, tako da ako u vise source fileova zelis imati istu globalnu varijabu, onda je u jednom i samo jednom fileu mozes definirati (svaka definicija je ujedno i deklaracija), a u ostalima je moras samo deklarirati, jer bi inace dobio compile time error radi redefinicije varijable. To radis sa
Kod:
extern int i;
, sto kompajleru daje do znanja kojeg je tipa varijabla i, te da je ona definirana u nekom drugom source fileu.
Kod funkcija je jednostavno razlikovati definiciju i cistu deklaraciju (prototip) tako sto definicija ima tijelo funkcije, a prototip ga nema. Radi toga je svaka deklaracija funkcije po defaultu extern, pa to nije potrebno (iako se moze) navoditi.

Dakle extern (za razliku od auto, static i register) ne govori o nacinu smjestaja varijable u memoriji, pa to nije memorijska klasa.



_________________
Extraordinary claims require extraordinary evidence. – Carl Sagan
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan