Visualizzazione dei risultati da 1 a 3 su 3

Discussione: puntatori

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    12

    puntatori

    Forse questo messaggio sarà il primo di una lunga serie sui puntatori(sono belli tosti !! )

    #include<stdio.h>

    int main()
    {
    int*p;
    int m;
    scanf("%d",&m);
    p=&m;
    printf("%p",p);
    getchar();
    getchar();
    return 0;
    }

    In questo caso printf stampa l'indirizzo di m in base esadecimale, giusto??

    #include<stdio.h>

    int main()
    {
    int*p;
    int m;
    scanf("%d",&m);
    p=&m;
    printf("%d",p);
    getchar();
    getchar();
    return 0;
    }

    Ora, cambiando la p con la d , printf stampa una sequenza di numeri..
    Cosa rappresentano questi numeri??
    Grazie!

  2. #2

    Re: puntatori

    Originariamente inviato da pasco78

    printf("%p",p);

    In questo caso printf stampa l'indirizzo di m in base esadecimale, giusto??

    printf("%d",p);
    Ora, cambiando la p con la d , printf stampa una sequenza di numeri..
    Cosa rappresentano questi numeri??
    codice:
    $ man 3 printf
    ...
    p	The void * pointer argument is printed in hexadecimal
    d	The int (or appropriate variant) argument is converted to signed decimal
    osserva che la conversione di un puntatore ad int (come tu implicitamente fai in printf("%d",p)) è in genere un'operazione errata.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: puntatori

    Originariamente inviato da pasco78
    Ora, cambiando la p con la d , printf stampa una sequenza di numeri..
    Cosa rappresentano questi numeri??
    Non è altro che il corrispondente valore in base decimale di quell'indirizzo esadecimale che avevi visto prima.

    Ma, come ti è stato detto, bisogna fare attenzione a queste conversioni.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.