Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [c++] Puntatori e operatori puntatori

    Qualcuno mi potrebbe spiegare a cosa sevono i puntatori e i loro operatori (& e *)?
    Se non fosse nato il c++, il mio intelletto sarebbe ancora oscuro a molti...

  2. #2
    Ma il libro che hai preso, lo leggi?????


    Se in un primo momento l'idea non è assurda, allora non c'è nessuna speranza che
    si realizzi
    .
    Os: WinME
    Lang: C++
    Editor: C++ Builder 6 Enterprise

  3. #3
    certo, ma non ho ben capito quel passaggio......sia bwn chiaro: io non voglio codici per fare copia incolla, solo che non sono riouscito a capire a cosa servono i puntatori e gli operatori puntatori. Se gentilmente volessi darmi una mano
    Se non fosse nato il c++, il mio intelletto sarebbe ancora oscuro a molti...

  4. #4
    alura:
    creazione di una variabile e di un puntatore
    codice:
    // creazione varabile e puntatore 
    int pippo, *punta_pippo; 
    //puntamento alla varaibile 
    punta_pippo = &pippo; /* i puntatori contengono un indirizzo di memoria: l'operatore & indica L'INDIRIZZO DI variabile_che_lo_segue*/ 
    /* 
    nota il puntatore deve sempre essere dello stesso tipo della variabile a cui punta. 
    Questo perchè: quando creo una variaible in memoria
    il compilatore sa quanti byte occupa ( int 2 o 4, char 1 ect) il puntatore, se accede ad una cella di memoria che contiene parte del dato (ad esempio
    se cè un int di 2 byte occuperà 2 byte,
    quindi 2 celle di memoria)
    il puntatore deve sapere quanti bit leggere x interpretare correttamente il dato. 
    Se tu dichiari un punatore char e una variabile int, 
    e fai puntare il puntaotre alla vriabile potrei leggere ed accedere solo al byte più significativo del dato intro 
    sepro di essere stao chiaro( al massimo scrivimi x maggiori dettagli)*/ 
    // accesso alla variabile 
    printf ("pippo %d\n", *punta_pippo);
    I puntatori vengono usati spessissimo x accedere ad un array. L'uso di puntatori è molto + veloche che il metodo x indicizzazione:
    codice:
    int array[100], *punta_array; 
    punta_array = array; /*il nome dell'array è identico 
    a &nome_array[0] quindi basta il nome 
    x fare puntare il puntatore alla prima cella di memoria*/ 
    // sommare alla cella corrente quella successiva 
    punta_array += punta_array++; /* l'indirizzo dell'array viene incrementato, 
    passando alla cella successiva. 
    Questa istruzione equivale a 
    array[corrente] = array[corrente] + array[corrente+1]*/ 
    // passare dalla cella 2 alla 5 
    punta_array += 3
    penso che x ora possa bastare così
    ti dico anche che
    nel passaggio x riferimento vengono usati i puntatori
    nella strutturazione dinamica vengono usati i puntatori
    e molto altro ancora
    SPERO DI ESSERE STATO ESAURIENTE
    ciauz
    Se in un primo momento l'idea non è assurda, allora non c'è nessuna speranza che
    si realizzi
    .
    Os: WinME
    Lang: C++
    Editor: C++ Builder 6 Enterprise

  5. #5
    punta_array += punta_array++; /* l'indirizzo dell'array viene incrementato,
    passando alla cella successiva.
    Questa istruzione equivale a
    array[corrente] = array[corrente] + array[corrente+1]*/
    codice:
    punta_array += punta_array++; // questa istruzione fa un letterale CASINO... :) prova a capire il perché...
    
    *punta_array += *punta_array++; // questa appare più accettabile, ma in pratica somma ad un elemento l'elemento stesso dopodiché avanza di una cella
    
    *punta_array += *++punta_array; // quello che fa questa istruzione lo chiedo a te e aspetto risposta, ti assicuro che non è affatto banale... e può risultare un ottimo esercizio logico ;)
    
    *punta_array += *( punta_array + 1 ); // questo è ciò che volevi fare tu :p
    Per asp.net=cfm=xml: lo capisci SOLO con gli esercizi, quindi armati di pazienza e vai a studiare...

    Ciao.

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