|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 4418
|
[C] Passaggio dei parametri per riferimento o valore?
Salve a tutti! stavo dando una occhiata al c che non l'ho mai toccato ... mi servirebbe una info abbastanza al volo, il passaggio dei parametri avviene tramite riferimento o valore? Mi pare di capire per valore ma volevo la conferma dagli esperti
![]() grazie a tutti e scusate la domanda estremamente banale ![]() Ultima modifica di manowar84 : 17-04-2011 alle 22:45. |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Dec 2006
Messaggi: 3808
|
Quote:
- una funzione può ritornare per valore solo 1 valore al massimo - i vettori vengono sempre passati per riferimento - le variabili atomiche vengono passate per valore studiando un po' meglio ti rendi conto che alla fine neanche il passaggio per valore esiste davvero, ma sono tutti passaggi per riferimento. |
|
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: May 2001
Messaggi: 12839
|
Quote:
In C dato che non hai oggetti (al massimo strutture) puoi passare due tipi di dato nelle funzioni: - tipi di dato built-in (int, double, float, char) - puntatori ai tipi di dato In entrambi i casi stai operando con una copia di tali valori, ciò che puoi farci è diverso, ma di fatto all'interno della funzione hai una copia di tali valori. Il caso degli array è un caso particolare perché di fatto passi il puntatore al primo elemento dell'array. Ovvero: Codice:
int test() { int a[] = {1, 2, 3, 4}; return a == &a[0]; } Ultima modifica di WarDuck : 18-04-2011 alle 09:48. |
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 4418
|
ragazzi siete fantastici, mi avete chiarito tutto, grazie mille per la vostra gentilezza
![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
|
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:37.