Torna indietro   Hardware Upgrade Forum > Software > Programmazione

ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm
ASUS e HIFIMAN uniscono le forze per creare ROG Kithara, cuffie gaming con driver magnetici planari da 100mm, design open-back e microfono MEMS full-band. Una proposta che ambisce a coniugare fedeltà per audiofili e performance ludiche, disponibili a 319 euro
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-03-2006, 13:10   #1
vermaccio
Senior Member
 
L'Avatar di vermaccio
 
Iscritto dal: Sep 2001
Città: Roma
Messaggi: 2141
[C++]: variabili globali e locali: dubbio

avendo un listato semplice semplice con il main e con 2 funzioni:


#include <stdio.h>
#include <math.h>

double x

static void primafunzione(void) {
x=1;
}

static int secondafunzione (int ms) {
x=x+1;
}

int main() {
viene attivata la funzione "primafunzione"
viene attivata la funzione "secondafunzione"
return 0;
}


domanda1: x è una variabile globale perchè definita come "double x" subito dopo gli #include e fuori da ogni funzione?

domanda2: la "x" settata ad un valore nella "primafunzione" è globale o locale?

domanda3:la "x" aumentata di un unità nella "secondafunzione" è globale o locale?

insomma: un programma così fatto a fine esecuzione vede:

a)x senza valore preciso
b)x=1
c)x=2
?
__________________
..strisc...strisc...oooooOOoooO
http://digilander.iol.it/pentiumII Navi da battaglia giapponesi classe Yamato WWII
vermaccio è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2006, 13:22   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da vermaccio
domanda1: x è una variabile globale perchè definita come "double x" subito dopo gli #include e fuori da ogni funzione?
Potresti anche metterla prima degli include se vuoi, non cambia nulla (si usa però iniziare il sorgente con l'elenco degli header). E' globale perché definita fuori dalle funzioni, e visibile da entrambe.

Quote:
domanda2: la "x" settata ad un valore nella "primafunzione" è globale o locale?

domanda3:la "x" aumentata di un unità nella "secondafunzione" è globale o locale?
Le scritture avvengono esclusivamente sulla variabile globale x, l'unica "x" che le due funzioni "vedono".

Quote:
insomma: un programma così fatto a fine esecuzione vede:

a)x senza valore preciso
b)x=1
c)x=2
?
Sì.
Nota che alcuni compilatori pongono a 0 le variabili globali non inizializzate.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 14-03-2006, 13:35   #3
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da vermaccio
domanda1: x è una variabile globale perchè definita come "double x" subito dopo gli #include e fuori da ogni funzione?
Gli include non centrano (non che sia bello ma potresti mettere double x; anche prima degli include!). È globale perché è al di fuori di ogni funzione.
Quote:
Originariamente inviato da vermaccio
domanda2: la "x" settata ad un valore nella "primafunzione" è globale o locale?

domanda3:la "x" aumentata di un unità nella "secondafunzione" è globale o locale?
Sì, se nelle funzioni non hai un'altra variabile (locale o un parametro della funzione) di nome 'x' (che "nasconderebbe" il valore della variabile globale), la variabile globale è visibile dappertutto a partire dal punto in cui è dichiarata.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Nimbus Innovation Awards Cloud Edition 2...
Roborock Qrevo Curv 2 Flow a 699€: robot...
Copia privata: arriva la 'tassa sul clou...
realme 16 Pro Series in Italia a marzo: ...
DeepSeek esclude NVIDIA e AMD dall'acces...
Ubisoft perde il direttore creativo di A...
L'IA genera soprattutto unione: secondo ...
PS Plus: annunciati i giochi gratis di m...
Tuo figlio cerca 'suicidio' su Instagram...
ASUS, un nuovo BIOS per risolvere i prob...
In Cina hanno scoperto come triplicare l...
Amazfit Active 3 Premium debutta a 169,9...
iPhone 17 in offerta su Amazon: Pro Max ...
Portatile da 899€ e 2 robot Dreame in of...
Nuova causa per Tesla: stranieri con vis...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 15:24.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v