Słyszałem, że wskaźniki powinny najpierw zostać odrzucone, aby zapewnić spójność wartości na różnych platformach i powinny używać specyfikatora formatu %p
. Dlaczego tak jest i jakie są dokładnie problemy?Użycie wskaźników pustych przestrzeni na różnych platformach
int x=100;
int *pi=&x;
printf("value of pi is: %p",(void*)pi);
Zauważ, że twój cytat to na pewno POSIX-specyficzny, IIRC standardowy mandat tylko, że dwa różne wskaźniki mają różne wyniki specyficzne dla realizacji. –
@MatteoItalia Dzięki. Zaktualizowano. –
Ładne cytowanie, ale w praktyce, w jaki sposób fakt, że ** niejawne rzutowanie nie ma miejsca ** wpływa na wartość przekazywanego argumentu (innymi słowy, w jaki sposób rzutowanie na 'void *' może uczynić wartość ' pi' any different)? –