[ azzpoz @ 16.04.2013. 21:58 ] @
Code:
  char *niz[2]={"azz"};
    char niz2[2];
    double *pokazivac=NULL;
    char *pokazivac2=NULL;
    cout<<"\n\t -> "<<sizeof(niz);
    cout<<"\n\t\t -> "<<sizeof(niz2);
    cout<<"\n -> "<<sizeof(pokazivac)<<"\t pokazivac2(char) -> "<<sizeof(pokazivac2)<<endl;
    


Pretraživao sam po internetu i nisam siguran zašto je pokazivač uvijek veličine 4!

Da li je pokazivač "SISTEMSKE(konstantne)" veličine određen sistemom, u ovom slučaju OS-om 32bitni???
[ Mihajlo Cvetanović @ 17.04.2013. 09:29 ] @
Sam C standard ne propisuje koliki će pokazivač da bude, i to je ostavljeno piscima kompajlera da odaberu. Najčešće prati arhitekturu, pa je 32-bitni u 32-bitnom procesu i 64-bitni u 64-bitnom. Obrati pažnju da ako napraviš 32-bitnu aplikaciju i onda je pokreneš na 64-bitnom Windowsu, pointer će i dalje biti 32-bitni. Postoje izuzeci u vezi sa veličinom pointera, ali tiču se nekih egzotičnih hardvera za koje verovatno nikad nećeš pisati softver.