Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    1,003

    [C] Aritmetica dei puntatori

    La situazione è questa: devo spostare il puntatore ad una struttura di x byte, soltanto che l'aritmetica dei puntatori mi rompe le balle:
    Es:

    int * p;

    p = p + offset

    dove offset è il numero di byte di cui devo spostarmi. Cosi facendo, invece di spostarmi del numero di byte che c'è in offset mi sposto di sizeof(int)*offset byte.
    Per risolvere momentaneamente faccio:
    p = (int *) ((void *)p + offset)
    ma non mi piace piu di tanto.
    C'è una altra soluzione piu bella da vedere e che non mi faccia fare calcoli aggiuntivi?

  2. #2
    codice:
    char *puntatore_cattivo_non_inizializzato;
    
    puntatore_cattivo_non_inizializzato += offset;

  3. #3
    io ti consiglio questa forma :
    e = *(dptr + indy)
    dove e = al dato che voglio conservarmi
    dptr e la mia variabile puntatore
    ed indy sono i byte di cui mi voglio spostare
    spero di esserti stato di aiuto

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.