Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

pitanja

[es] :: C/C++ programiranje :: pitanja

[ Pregleda: 3117 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mikky

Član broj: 18
Poruke: 1563
*.92.EUnet.yu

ICQ: 44582291


+58 Profil

icon pitanja01.10.2001. u 23:00 - pre 274 meseci
1.
deklaracija funkcije malloc je void *malloc(size_t size)
nije mi jasno sta ova funkcija vraca, pointer ka voidu wtf?
da li je ova funkcija ekvivalenta "new" u c++

2.
zasto se skoro uvek funkcijama kao parametar predaju
pointeri ka strukturama/klasama a ne same strukture/klase?

3.
dali svaki win program kada se pravi mora da ima WndClassEx
strukturu... odnosno da li svaki windows program mora da sadrzi prozor (nevazno da li se taj prozor vidi na ekranu ili ne)

4.
ako npr. pomocu resource editora napravim GUI za neki svoj program
kako se taj resource fajl povezuje posle sa c/c++ kodom ?
znaci npr. u resource editoru napravim prozor sa buttonom.... pa bi zatim u c/c++ odradim da na pritisak buttona prikaze MsgBox

znaci bezveze primer cisto da provalim kako se to uklapa
posto imam kompajler za win32 bez IDE-a i resource editora a pravljenje GUI je jako naporno preko API funkcija

-I know UNIX, PASCAL, C, FORTRAN,
COBOL, and nineteen other high-tech
words.
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
*.fwi.com



+1 Profil

icon Re: pitanja02.10.2001. u 02:47 - pre 274 meseci
Citat:
Mikky je napisao:
1.
deklaracija funkcije malloc je void *malloc(size_t size)
nije mi jasno sta ova funkcija vraca, pointer ka voidu wtf?
da li je ova funkcija ekvivalenta "new" u c++


Otprilike da to je ekvivalentno new u C++. Ona vraca pokazivac na memoriju. void * je dobar zbog castinga. Neces dobijati warninge da na char * predajes int vrednost. Inace malloc() alocira memoriju za size_t size i vraca adresu pocetka alocirane memorije.

Citat:

2.
zasto se skoro uvek funkcijama kao parametar predaju
pointeri ka strukturama/klasama a ne same strukture/klase?


Zato sto je mnogo elegantnije raditi sa pointerima ;o) veruj mi pointeri su ono sto cini C jako fleksibilnim evo kod koji radi isto :

Code:

struct gg{
int a,b;
};

int str(struct gg voja){
 printf("%dn",voja.a);
 printf("%dn",voja.b);
 return 0;
}

int main(){
 struct gg voja = {0,1};
 str(voja);
}         


i pointeri

Code:

struct gg{
int a,b;
};

int str(struct gg* voja){
 printf("%dn",voja->a);
 printf("%dn",voja->b);
 return 0;
}

int main(){
 struct gg voja = {0,1};
 str(&voja);
}           




 
Odgovor na temu

tweeester
Ivan Arandjelovic
bg yu

Član broj: 724
Poruke: 882
*.kc.vicert.com

Sajt: www.javasvet.net


Profil

icon Re: pitanja02.10.2001. u 10:55 - pre 274 meseci
Napomena: Ako se dobro secam, nece uspeti pokusaj da prosledis strukturu duzu od 8 bajtova kao parametar, zato moras da prosledis samo pokazivac na tu strukturu.


<< tko leti vrijedi, tko ne leti ne vrijedi >>
 
Odgovor na temu

Milan Aksic

Član broj: 412
Poruke: 1053
*.ptt.yu



Profil

icon Re: pitanja02.10.2001. u 11:24 - pre 274 meseci
Citat:

2.
zasto se skoro uvek funkcijama kao parametar predaju
pointeri ka strukturama/klasama a ne same strukture/klase?


Iglavnom zato jer se strukture i clanovi struktura predaju po vrednosti:
Code:

struct test
{
    int x, y;
};

void fun1(struct test);

void main(void)
{
    struct test kor;

  kor.x = 10;
  kor.y = 20;

  fun1(kor);

  printf("po povratku iz funkcije fun1n");
  printf("%dn", kor.x);
  printf("%dn", kor.y);
}

void fun1(struct test stest)
{
    printf("%dn", stest.x);
  printf("%dn", stest.y);
  stest.x = 55;
  stest.y = 66;
  printf("%dn", stest.x);
  printf("%dn", stest.y);
}
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
165.139.17.*



+1 Profil

icon Re: pitanja02.10.2001. u 18:43 - pre 274 meseci
Citat:
tweeester je napisao:
Napomena: Ako se dobro secam, nece uspeti pokusaj da prosledis strukturu duzu od 8 bajtova kao parametar, zato moras da prosledis samo pokazivac na tu strukturu.



Ima neki trip, ja sam licno mislio da ne moze vise od 4byte da se preda ;o)
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.verat.net

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: pitanja02.10.2001. u 19:31 - pre 274 meseci
Citat:
Mikky je napisao:
2.

zasto se skoro uvek funkcijama kao parametar predaju

pointeri ka strukturama/klasama a ne same strukture/klase?


Pa neko je rekao jer se u obicnom slucaju prenose po vrednosti, e fora je u tome sto funkcije uvek kopiraju argument, bilo to tipa int, char, pointer na nesto... ili neka struktura/klasa itd.. poenta je u tome sto krace kopiranje jedne vrednosti nego 10 ili vise, a sada zamisli da je tvoja klasa jedna velika lista sta mislis koliko to vremena da se sve to prekopira(preko copy konstruktora), opet sam pointer je mozda malo nepraktican zbog pisanja jer uvek vrednosti pristupas kao (*nesto), zato je elegantije koristiti referencu (konstantni pokazivac) barem kada je c++ u pitanju.


Nadam se da sam razjasnio muku
 
Odgovor na temu

[es] :: C/C++ programiranje :: pitanja

[ Pregleda: 3117 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.