簡體   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