2010-07-04 11 views

Respuesta

189

El argumento se usa a menudo en el sentido de "argumento real" frente a "parámetro formal".

El parámetro formal es el que se da en la declaración/definición/prototipo de función, el argumento real es lo que se pasa cuando se llama a la función, una instancia de un parámetro formal, si se quiere.

Dicho esto, a menudo se usan de forma intercambiable, o según el idioma/comunidad, y también he escuchado el "parámetro real" & c.

Así que aquí, x y y habría parámetros formales:

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

Mientras que aquí, en la llamada de función, 5 y z son los argumentos reales:

foo(5, z); 
+4

Hablando de terminología, ¿cuál es el "& c" que usaste? ¿Eso significa "y viceversa" o algo así? –

+39

"&" es una ligadura de "e" y "t", por lo que significa "et", que es en latín para "y". La "c" significa "cetera", que significa "(la) otra (s)" (Nom. Pl. N.). Entonces puede sustituirlo por algo como "y (las) otras cosas", o "y así sucesivamente". – danlei

+10

@JakePetroules en otras palabras, es la abreviatura de "et cetera" http://en.wikipedia.org/wiki/Etcetera, pero diría que (anecdóticamente) es más abreviado, etc. – Caltor

18

En general, los parámetros son qué se usa dentro de la función y los argumentos son los valores pasados ​​cuando se llama a la función. (A menos que tome el punto de vista opuesto: Wikipedia menciona convenciones alternativas cuando habla de parameters and arguments).

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

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

En mi tesis, x es el parámetro que sqrt() y 2.0 es el argumento.

Los términos a menudo se usan al menos de manera intercambiable.

5

A menudo se usan indistintamente en el texto, pero en la mayoría de los estándares la distinción es que un argumento es una expresión pasada a una función, donde un parámetro es una referencia declarada en una declaración de función.

0

Argumentos y parámetros son diferentes en que los parámetros se utilizan para diferentes valores en el programa y Los argumentos se pasan el mismo valor en el programa de lo que se utilizan en C++. Pero no hay diferencia en c. Es lo mismo para argumentos y parámetros en c.

Cuestiones relacionadas