112

Câu hỏi này đã có câu trả lời ở đây:

Có sự khác biệt giữa "tham số" và "đối số" hay chúng chỉ đơn giản là từ đồng nghĩa?

|
196

Đối số thường được sử dụng theo nghĩa đối số thực tế so với tham số chính thức.

Các thông số chính thức là những gì được đưa ra trong phần khai báo hàm / nét / nguyên mẫu, trong khi tranh luận thực tế là những gì được thông qua khi gọi hàm - một thể hiện của một tham số chính thức, nếu bạn sẽ.

Điều đó đang được nói, chúng thường được sử dụng thay thế cho nhau, sử dụng chính xác của chúng tùy thuộc vào ngôn ngữ lập trình khác nhau và cộng đồng của chúng. Ví dụ, tôi cũng đã nghe thông số thực tế, v.v.

Vì vậy, ở đây, xysẽ là các tham số chính thức:

int foo(int x, int y) {
    ...
}

Trong khi ở đây, trong hàm gọi, 5 và zlà các đối số thực tế:

foo(5, z);
|
  • 1

    Nói về thuật ngữ, "& c" bạn đã sử dụng là gì? Điều đó có nghĩa là "và ngược lại" hay đại loại như thế?

    – Tạ Quang Khôi 05:15:49 22/07/2010
  • 1

    "&" là một chữ ghép của "e" và "t", vì vậy nó có nghĩa là "et", nghĩa là "la tinh" cho "và". "C" là viết tắt của "cetera", có nghĩa là "(the) other (s)" (Nom. Pl. N.). Vì vậy, bạn có thể thay thế nó bằng một cái gì đó như "và (những) thứ khác", hoặc "vân vân".

    – Ngô Văn Cường 11:26:07 22/07/2010
  • 1

    @JakePetroules nói cách khác nó là viết tắt của "et cetera" en.wikipedia.org/wiki/Etcetera nhưng tôi sẽ nói (giai thoại) nó thường được viết tắt hơn, v.v.

    – Tạ Bảo Ngọc 10:17:12 03/10/2013
  • 1

    Tôi muốn xem & ymology của việc sử dụng đó.

    – Ngô Ái Khanh 15:16:07 29/01/2014
  • 1

    @donquixote Tôi sẽ nói rằng "giá trị tham số" và "đối số" không phải là từ đồng nghĩa. Ví dụ: bạn có thể thực hiện cuộc gọi sau foo (1, 2, 3) trong đó (ví dụ trong C #) chữ ký của phương thức được gọi là foo (a, params int [] b). Ở đây các đối số là 1, 2, 3 và các giá trị tham số là 1 và {2, 3}.

    – Hoàng Như Hảo 09:26:34 24/12/2016
18

Nói chung, các tham số là những gì được sử dụng bên trong hàm và các đối số là các giá trị được truyền khi hàm được gọi. (Trừ khi bạn có quan điểm ngược lại - Wikipedia đề cập đến các quy ước thay thế khi thảo luận về các tham số và đối số ).

double sqrt(double x)
{
    ...
    return x;
}

void other(void)
{
     double two = sqrt(2.0);
}

Theo luận án của tôi, x là tham số sqrt()và 2.0 là đối số.

Các thuật ngữ thường được sử dụng ít nhất là có thể thay thế cho nhau.

|
5

Chúng thường được sử dụng thay thế cho nhau trong văn bản, nhưng trong hầu hết các tiêu chuẩn, điểm khác biệt là một đối số là một biểu thức được truyền cho hàm, trong đó tham số là tham chiếu được khai báo trong khai báo hàm.

|

Câu trả lời của bạn (> 20 ký tự)

Bằng cách click "Đăng trả lời", bạn đồng ý với Điều khoản dịch vụ, Chính sách bảo mật and Chính sách cookie của chúng tôi.

Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ hoặc hỏi câu hỏi của bạn.