[英]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.