Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429

    Visibilità delle variabili

    visto che sulla guida nn è molto discorsivo, sapreste darmi maggiori info sui campi d'azione delle variabili??

    grazie in anticipo

  2. #2
    sapere ache linguaggio ti riferisci aiuta a rispondere oltre ad essere previsto dal regolamento
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    Utente di HTML.it L'avatar di pixer
    Registrato dal
    Oct 2000
    Messaggi
    614
    Se magari specifichi il linguaggio che stai utilizzando, FORSE potremmo aiutarti.

    Dai anche un'occhiata al regolamento.
    MySQL Worker - The OpenSource Multiplatform MySQL database Administrator (C++ powered)
    .:[ It resumes the development !! ]:.


  4. #4
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429
    raga scusatemi....cmq il linguaggio è il c++

  5. #5
    Utente di HTML.it L'avatar di Angioletto
    Registrato dal
    Jan 2004
    Messaggi
    1,246
    Innanzitutto devi tener presente le seguenti cose:

    1. Campo di validità(scope) : è l'ambiente (blocco, sottoprogramma o modulo) ove resta valida una dichiarazione.

    2. Visibilità : è la proprieta secondo la quale, all'interno del proprio campo di validità, il nome dell'oggetto dichiarato è visibile, cioè può essere usato.

    Quindi puoi ben capire che se dichiari una variabile, ad esempio nel main, essa risulta valida in tutto il main, ma non è detto che sia sempre visibile..all'interno del main, infatti, puoi creare un blocco entro il quale dichiari un'altra variabile con lo stesso nome che va ad oscurare la visibilità di quella precedente...

    int main()
    {
    char a='w';

    .....
    .....
    if(_condizione_) {
    char a ; <-------------
    ....
    ....
    ....
    }

    ...
    ...

    system("PAUSE");
    return 0;
    }
    Come vedi nell'if è dichiarata un'altra variabile (ATTENZIONE: UN'ALTRA!!) con lo stesso nome della precedente: nell'if farai allora riferimento quel "char a"
    (che ho indicato con una freccetta) ogni volta che usi la variabile a, appena fuori dal corpo dell'if farai riferimento a quella dichiarata all'inizio del main (che il sistema operativo non hai mai cancellato o modificato: è rimasta sempre lì solo che per un pò la sua visibilità è stata oscurata).

    Spero ti siano un pò + chiare le idee, così puoi capire la differenza tra le variabili globali e quelle locali..
    Le prime sono comuni a + ambienti, le seconde sono tali che la loro validità è circoscritta ad un determinato ambiente..

    Se ad esempio dichiari una variabile prima del main, essa risulterà accessibile anche da tutti i sottoprogrammi che puoi implementare nel tuo codice, oltre che dal main (ovviamente!!), mentre la sua visibilità potrà essere sempre oscurata da qualche altra variabile con lo stesso nome..

    Credo che tu volevi spiegazioni su questo, nel senso che ti ho parlato (spero esaurientemente!!) dei campi di azione di una variabile all'interno di un unico file..

    Vi sono anche tecniche che alterano la validità di una variabile per poterla condividere con altri file..

    Non ti ho affatto parlato del tempo di vita, comunque connesso a questo argomento..ma se vuoi saper di +, chiedi pure: siamo tutti a disposizione!!
    Per liquidare un popolo si comincia con il privarli della memoria.Si distruggono i loro libri, la loro cultura, la loro storia. E qualcun’ altro scrive loro altri libri, li fornisce di un’altra cultura, inventa per loro un’altra storia. (Milan Kundera)

  6. #6
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429
    dunque con le variabili globali adoperiamo delle variabili che hanno una validità all'interno di un blocco o meglio come hai detto tu sono circoscritte ad un unico ambiente....ad esempio dichiarando prima del main una variabile di nome a quest'ultima avrà visibilità in tutto il programma ma dichiarando un'altra variabile di nome a all'interno ad esempio di un'alternativa la variabile a dichiarata prima del main perde visisbilità mentre quella nell'alternativa acquista visibilità.....ma quali sono le utilità di questa funzione?????

    e cos'è il tempo di vita???

    poi nella guida si parla di quattro campi d'azione: blocco, funzione file e programma....sapresti dirmi di +???
    o queste cose mi saranno chiare + avanti nella guida???


    grazie di tutto

  7. #7
    Utente di HTML.it L'avatar di Angioletto
    Registrato dal
    Jan 2004
    Messaggi
    1,246
    Tieni presente che mentre quella alternativa acquista visibilità, l'altra non viene cancellata, rimane in memoria!!!
    Cioè, vive ancora!!

    Il tempo di vita di una variabile è in effetti il tempo a cui è associata ad essa un indirizzo di memoria.

    1. il blocco è in generale una sequenza di dichiarazioni ed istruzioni ed individua l'ambiente di validità delle variabili introdotte. La sua struttura è questa:
    {sezione dichiarativa;
    sezione eseccutiva }

    2. funzione: nel c++ non si distingue tra funzione e procedura (sono dei sottoprogrammi). La funzione alla fine delle sue operazioni ritorna qualcosa al programma chiamante, ad esempio:
    int prodotto(int a, int b) {
    int p;
    p=a*b;
    return p;
    }
    nel programma chiamante potrai quindi scrivere :
    cout << prodotto(5,10);
    La procedura non restituisce nulla al programma chiamante.In c++ si realizza con una funzione con parametro di uscita void.
    void stampa(int);
    Immagina ad una funzione di stampa a video: non deve restituire nulla al programma chiamante!!

    3. il file è un livello in +...tieni presente che un programma (che deve contenere un solo main) può essere costituito da + file: lavorando su + file puoi modularizzare il prog e in genere programmatori diversi lavorano a file diversi!!

    Capirai poi, programmando, l'utilità di ridefinire variabili con lo stesso nome, risparmierai tempo nel fantasticare sui nuovi nomi da assegnarle!!!

    Sperodi non aver detto orrori..cmq credo ci sarà sempre qualcuno pronto a correggermi!!

    Ciao!!
    Per liquidare un popolo si comincia con il privarli della memoria.Si distruggono i loro libri, la loro cultura, la loro storia. E qualcun’ altro scrive loro altri libri, li fornisce di un’altra cultura, inventa per loro un’altra storia. (Milan Kundera)

  8. #8
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429
    grazie mille!!!

    magari potresti darmi una mano qui rispondendo al mio ultimo post....grazie ancora

  9. #9
    Utente di HTML.it L'avatar di Iena87
    Registrato dal
    Dec 2003
    Messaggi
    429
    Originariamente inviato da Iena87
    grazie mille!!!

    magari potresti darmi una mano qui rispondendo al mio ultimo post....grazie ancora

    ehi scusate se riposto ma nn ho ricevuto risposta.....potreste vedere il mio porblema nel link di sopra e magari dirmi come fare???

    grazie ancora

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.