繁体   English   中英

用户定义类型传递给函数是C中的按值调用吗?

[英]User Defined Types Passing to a Function is a Call By Value in C?

我有一个结构体,并将此结构体传递给函数。 函数原型可能是:

typedef struct
{
    //Bla Bla
} ABC;

void func(ABC abc)
{

}

此函数调用是按值调用还是按引用调用? 有人说“ C没有复制构造函数,因此我们无法将用户定义的类型传递给值”。 这个想法正确吗?

按值调用。 C 总是按值调用。

(C没有复制构造函数,但是仍然可以通过创建第二个结构并将其作为初始构造器来复制它,以复制结构。函数参数将使用您作为参数传递的值进行初始化;这是相同的机制。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM