Utilisateur Types définis Passage à une fonction est un appel par valeur en C?
Question
J'ai une struct et je passe cette struct à la fonction. Peut-être ProType fonction est:
typedef struct
{
//Bla Bla
} ABC;
void func(ABC abc)
{
}
Cette fonction d'appel est par valeur ou par appel referance? Quelqu'un dit-il que « C ne marche pas avoir de copie Constructor donc nous ne pouvons pas passer les types définis par l'utilisateur avec la valeur ». Cette idée est correcte?
La solution
Appel par valeur. C est toujours par valeur.
(C n'a pas un constructeur de copie, mais les structures peuvent encore être copiés en créant une deuxième structure à la structure originale comme initialiseur paramètres de fonction sont initialisés avec les valeurs que vous transmettez comme arguments,. Il est le même mécanisme au travail. )
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow