visto che sulla guida nn è molto discorsivo, sapreste darmi maggiori info sui campi d'azione delle variabili??
grazie in anticipo
visto che sulla guida nn è molto discorsivo, sapreste darmi maggiori info sui campi d'azione delle variabili??
grazie in anticipo
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
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 !! ]:.
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...
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"int main()
{
char a='w';
.....
.....
if(_condizione_) {
char a ; <-------------
....
....
....
}
...
...
system("PAUSE");
return 0;
}
(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)
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
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:
nel programma chiamante potrai quindi scrivere :int prodotto(int a, int b) {
int p;
p=a*b;
return p;
}
La procedura non restituisce nulla al programma chiamante.In c++ si realizza con una funzione con parametro di uscita void.cout << prodotto(5,10);
Immagina ad una funzione di stampa a video: non deve restituire nulla al programma chiamante!!void stampa(int);
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)
grazie mille!!!
magari potresti darmi una mano qui rispondendo al mio ultimo post....grazie ancora
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