Tipos definidos por el usuario Pasando a una función es una llamada por valor en C?

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

  •  10-10-2019
  •  | 
  •  

Pregunta

I tiene una estructura y paso esta estructura a la función. Tal vez la función protype es:

typedef struct
{
    //Bla Bla
} ABC;

void func(ABC abc)
{

}

Esta función llamada es la llamada por valor o por llamada referance? Alguien decir que "C imposible tener constructor de copia así que no puedo pasar tipos definidos por el usuario con el valor". ¿Es correcta esta idea?

¿Fue útil?

Solución

Llamada por valor. C es siempre llamada por valor.

(C no tiene constructores de copia pero las estructuras todavía se puede copiar mediante la creación de una segunda estructura con la estructura original como su inicializador parámetros de función se inicializan con los valores que se pasan como argumentos;. Es el mismo mecanismo en el trabajo. )

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top