Visualizzazione dei risultati da 1 a 10 su 19

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Ma cosa è

    &d



    ho sostituito con % , è stato un mio errore di battitura, ma continuo ad avere il problema.
    Con i sogni possiamo conoscere il futuro...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Quote Originariamente inviata da gaten Visualizza il messaggio
    ho sostituito con % , è stato un mio errore di battitura, ma continuo ad avere il problema.
    Ovviamente ...

    A è un puntatore doppio

    void **A

    quindi deve essere

    void stampa(void **A)
    e dunque

    printf("A[%d] = %d\n",i, *(((int *)(*A)+i)) );
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    con (*A)+i) , cosa stò dicendo precisamente?
    Con i sogni possiamo conoscere il futuro...

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Quote Originariamente inviata da gaten Visualizza il messaggio
    con (*A)+i) , cosa stò dicendo precisamente?
    Con

    (int *)(*A)

    dici

    A[ ]

    e con +i

    A[i]
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Con

    (int *)(*A)

    dici

    A[ ]

    e con +i

    A[i]
    oregon, quello che dici tu non dovrebbe essere:
    codice:
    (*A)+i => A[0] + i
    mentre
    codice:
    *(A+i) => A[i]
    Con i sogni possiamo conoscere il futuro...

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Tieni presente che A è un doppio puntatore ...

    A[0] + i

    non ha senso perché sommi un intero ad un puntatore.

    L'altra puoi scriverla nei due modi

    *((int *)*(A+i))
    *(((int *)(*A)+i))
    Ultima modifica di oregon; 12-04-2016 a 14:57
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Tieni presente che A è un doppio puntatore e che non ha senso ragionare con i puntatori void, alla fine devi sempre sapere che tipo di dato punti.
    Si , e qui ci siamo... stò cercando di immaginare uno schema per rappresentare il tutto.

    **A = |void*|void*|void*|void*|void*|
    dall'esempio, ogni elemento di A, contiene un indirizzo di memoria che punta ad un intero, per cui, effettuerò un cast in int*.
    Ora mi domandavo:

    (*A)+i

    i incrementa da 0 a 4 ... *A può essere tradotto in A[0], cioè il primo elemento dell'array(che è un indirizzo).
    Facendo (*A)+0,(*A)+1,(*A)+2,(*A)+3,(*A)+4 ...

    per cui (*A)+0 => restituisce il primo indirizzo presente nell'array (void* che conterrà l'indirizzo &B[0] del primo intero..)
    (*A)+1 => il secondo indirizzo dell'array..
    e cosi vià...

    Credo che ora mi è tutto chiaro
    Con i sogni possiamo conoscere il futuro...

  8. #8
    Utente di HTML.it L'avatar di gaten
    Registrato dal
    Jul 2007
    Messaggi
    1,269
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Tieni presente che A è un doppio puntatore ...

    A[0] + i

    non ha senso perché sommi un intero ad un puntatore.
    ma pure qui sommi un intero ad un puntatore... no? (*A)+i ... stò sommando un intero ad un indirizzo...
    Con i sogni possiamo conoscere il futuro...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.