Las palabras parámetro y argumento, aunque de significado similar, tiene distintas connotaciones semánticas: Se denominan parámetros los tipos declarados en el prototipo 4.4.1 (que deben corresponder con los declarados en la definición 4.4.2). Cuando se realiza una llamada a la función, los “valores” pasados se denominan argumentos. A veces se utilizan también las expresiones argumentos formales, para los parámetros y argumentos actuales para los valores pasados.

Parámetros (en prototipo o definición) argumentos formales

Valores pasados (en tiempo de ejecución) argumentos actuales

§2 La sintaxis utilizada para la declaración de la lista de parámetros formales es similar a la utilizada en la declaración de cualquier identificador. A continuación se exponen varios ejemplos:

int func(void) {…} // sin parámetros inf func() {…} // ídem. int func(T1 t1, T2 t2, T3 t3=1) {…} // tres parámetros simples,

                                      // uno con argumento por defecto

int func(T1* ptr1, T2& tref) {…} // los argumentos son un puntero y

                                      // una referencia.

int func(register int i) {…} // Petición de uso de registro para

                                      // argumento (entero)

int func(char* str,…) {…} /* Una cadena y cierto número de otros

             argumentos, o un número fijo de argumentos de tipos variables */

§3 Los argumentos son siempre objetos. Sus tipos pueden ser: escalares; estructuras; uniones, o enumeraciones; clases definidas por el usuario; punteros o referencias a estructuras y uniones, o punteros a funciones, a clases o a matrices. El tipo void está permitido como único parámetro formal. Significa que la función no recibe ningún argumento


Google