Utilisateur Types définis Passage à une fonction est un appel par valeur en C?

StackOverflow https://stackoverflow.com/questions/4184248

  •  10-10-2019
  •  | 
  •  

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?

Était-ce utile?

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
scroll top