Pages: 1 [2] 3   Go Down
Author Topic: dubbio di programmazione  (Read 920 times)
0 Members and 1 Guest are viewing this topic.
Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ok ma se io dichiaro in due funzioni int a in due funzioni, non c'è alcun legame tra le due funzioni sono come due variabili distinte o sbaglio?
anche se la dichiaro nel void loop e in un'altra funzione void richiamata nel loop?
grazie
« Last Edit: December 26, 2011, 04:50:36 am by er_like_no_other » Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Offline Offline
Jr. Member
**
Karma: 0
Posts: 99
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

si perchè come dice leo, le due variabili appartengono allo spazio dei nomi della rispettiva funzione
http://it.wikipedia.org/wiki/Funzione_(informatica)
Logged

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

si può fare lo stesso ragionamento con le librerie?
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Offline Offline
Jr. Member
**
Karma: 0
Posts: 99
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

le liubreri sono dei moduli sorgente di programma. se vuoi per esempio utilizzare, all'interno di un modulo sorgente "a", funzioni definite all'interno della libreria "b",, devi includere la libreria b all'innerno di a.
all'inizio di a avrai
 
Code:
#include "b.h"

o

Code:
#include <b.h>

federico
Logged

Offline Offline
Jr. Member
**
Karma: 0
Posts: 99
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

http://it.wikipedia.org/wiki/Linking
Logged

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

si si ok ma mi chiedevo se dichiaro una libreria all'interno di una funzione anzi che per tutto il programma ho dei vantaggi o no?
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Offline Offline
Jr. Member
**
Karma: 0
Posts: 99
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

no.
il codice sorgente è contenuto in dei file(contenitori o moduli). alcuni moduli -librerie- contengono del codice sorgente che puo essere utilizzato da altri moduli atteaverso l'utilizzo della direttiva #include.
quindi il concetto di libreria è al di fuori, al di sopra di funzione. la libreria contiene funzioni (subroutine).

un modulo sorgente (contenitore) può includere altri moduli sorgenti tra cui librerie
non ha senso parlare di libreria definita all'interno di funzione

federico
Logged

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21607
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma.... il succo di tutto questo disquisire qual è? Dove vuoi arrivare?  smiley-sweat
Logged


Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ok ok semplicemente voglio capire come ottimizzare il più possibile i miei programmi smiley
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21607
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

OK OK  smiley-lol smiley-lol
Logged


0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10102
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

non hanno il valore che avevano prima ma 0?

perchè dovrebbe valere 0? Se DICHIARI e basta una variabile (esempio int c;), àquella variabile contine un valore A CASO che corrisponde al valore che ha assunto l'ultima volta quella cella di memoria. per questo le varibili in C vanno sempre INIZIALIZZATE, ovvero gli si assegna un valore, prima di essere utilizzate in operazioni matematiche o altro. (esempio int c=0;)
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

da una funzione posso avere più di una variabile di return?
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

0
Offline Offline
Faraday Member
**
Karma: 23
Posts: 2792
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
da una funzione posso avere più di una variabile di return?

No, nel modo classico di return var, var ecc, questo è python.

Però puoi passare ad una funziona un riferimento ad una variabile e all'interno della funzione ne modifichi il valore, terminata la funzione il codice ritorna ad eseguire la riga dopo la chiamata alla funzione e già li puoi vedere il valore della variabile che hai passato come riferimento.

Es

byte ncol = 0;
byte nrow = 0;
int result = toDisplay(&ncol, &nrow, "my title")

Internamente a toDisplay, modifichi ncol e nrow, al ritorna dalla funzione puoi leggere il valore di queste variabili e verificare che non contengono più uno zero ma valore che hai dato dentro la funzione.

Ciao.
Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Camisano Vicentino (VI), Italy
Offline Offline
God Member
*****
Karma: 4
Posts: 952
ƎR like no other.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ok graie mille della spiegazione smiley un po alla volta ce la faccio a capire bene come funzionano, dovrebbero insegnarmelo a scuola, ma non lo fanno...
Logged

Riccardo Ertolupi of the Vicenza Thunders Team: http://www.VicenzaThunders.com

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 313
Posts: 21607
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Oppure puoi usare delle variabili globali, il cui contenuto può essere modificato in qualunque parte dello sketch.
Logged


Pages: 1 [2] 3   Go Up
Jump to: