View Full Version : [c dubbi]
emiliano30
20-05-2005, 21:50
ho una serie di dubbi :
1)tutte le variabile devono essere dichiarate e inizializzate nel main, o lo si può fare anche nelle funzioni?
2)qual'è la giusta forma per richiamare una funzioni(anche per riferimento)? e come va terminata?
3)una funzione non "vede"le altre(credo :rolleyes: ), quindi se devo modificare ad esempio un vettore creato nella funzione 1, come fà la funzione 2 a modificare tale vettore (considerato che i dati sono nella funz.1 )?
4)posso mettere una printf nel main che visualizza il risultato di un operazione svolta da una funzione?
bè ragazzi per il momento accontentatevi di questi quesiti...non temete in futuro ne arriveranno altri...mooolti altri :D
1)tutte le variabile devono essere dichiarate e inizializzate nel main, o lo si può fare anche nelle funzioni?
Anche nelle atre; ovviamente prima di usare una variabile inizializzata da un'altra funzione devi invocare la funzione stessa. IL main è una funzione come lel altre.
2)qual'è la giusta forma per richiamare una funzioni(anche per riferimento)? e come va terminata?
nomefunzione(lista_parametri)
in che senso come va terminata?
3)una funzione non "vede"le altre(credo :rolleyes: ), quindi se devo modificare ad esempio un vettore creato nella funzione 1, come fà la funzione 2 a modificare tale vettore (considerato che i dati sono nella funz.1 )?
il vettore deve essere dichiarato come variabile globale o passatocome argomento alla funzione che lo modifica
4)posso mettere una printf nel main che visualizza il risultato di un operazione svolta da una funzione?
certo
Ziosilvio
20-05-2005, 23:47
1)tutte le variabile devono essere dichiarate e inizializzate nel main, o lo si può fare anche nelle funzioni?
No, una variabile può essere interna a una funzione, nel qual caso non sarà visibile dalle altre.
2)qual'è la giusta forma per richiamare una funzioni(anche per riferimento)? e come va terminata?
Stai parlando delle funzioni o dei loro argomenti?
Ti ricordo che in C le variabili vengono passate solo per valore, tutt'al più puoi passare il valore dell'indirizzo di una variabile, che è la cosa più simile al passaggio per riferimento che esiste in C.
3)una funzione non "vede"le altre(credo :rolleyes: ), quindi se devo modificare ad esempio un vettore creato nella funzione 1, come fà la funzione 2 a modificare tale vettore (considerato che i dati sono nella funz.1 )?
In C, tutte le funzioni sono sullo stesso livello si vedono a vicenda e possono chiamarsi a vicenda.
Per modificare il valore di una variabile interna a una funzione mediante un'altra funzione, puoi o usare il valore restituito dalla seconda funzione, oppure passare alla seconda funzione un puntatore alla variabile che puoi modificare.
4)posso mettere una printf nel main che visualizza il risultato di un operazione svolta da una funzione?
Sì.
Basta che o immagazzini il risultato in una variabile, o inserisci la chiamata alla funzione all'interno della chiamata a printf.
E questo puoi farlo anche in altre funzioni, non solo nella main.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.