Hola y bienvenido.
En esta conferencia, quiero hablar sobre argumentos y parámetros.
Estos términos tienden a ser utilizado indistintamente.
Lo que tienen que lidiar con son básicamente datos que le pasas
a una función.
Entonces un parámetro es una variable y una declaración de función y
una implementación de definición de función.
Recuerde, esta diferencia entre declaración de función, prototipo
de función y definición de función.
La declaración de función es solo la firma del método, es
el encabezado de la función.
La definición de función es la
implementación de la función, el código real.
En ambos términos, definición de declaración, comprenda
esas diferencias.
Pero el parámetro es lo que hay la declaración y definición de la
función, está en ese encabezado.
Porque tanto el encabezado está incluido en la definición de la declaración.
Cuando se llama a una función, Los argumentos son los datos que pasa a los
parámetros de la función.
Esos son el valor real de una variable que se
pasa a la función.
Entonces los parámetros de función definidos dentro del encabezado de la función,
y sus marcadores de posición para el argumentos que deben especificarse cuando
se invoca la función.
Entonces entiende la diferencia aquí entre argumentos y parámetros.
Los parámetros tienen que ver con el definición y declaración de funciones.
Los argumentos son donde tu llamar a la
función, cuando invoca la función, el datos que está pasando.
Entonces, los argumentos se usan cuando invoca.
Dirás que estos son los argumentos que van a mi función.
Y cuando la función recibe esos datos, se los conoce
como esos son los parámetros.
Los parámetros de una función son una lista de nombres de parámetros con sus
tipos de datos.
Cada parámetro es separados por una coma.
La lista completa de parámetros es entre paréntesis después del nombre de
la función.
Una función no puede tener parámetros, lo que significa
que no se le pasan datos.
Y en este caso, solo tienes paréntesis izquierdo y derecho con un
vacío entre ellos o vacío, todavía puede tener nada vacío entre ellos, pero es una
buena práctica para poner un vacío entre ellos.
Void es una palabra clave especial eso no significa nada, significa que no hay parámetros
ni datos de retorno.
Los parámetros proporcionan los medios para pasar datos a una función.
Datos pasados desde la función de llamada a la función que se llama, la
invocación e al extremo receptor, la extremo de llamada y extremo de recepción.
Los nombres de los parámetros son locales a la función.
Vamos a hablar de eso cuando hablamos de datos locales.
Pero esos nombres de parámetros solo existen dentro del cuerpo de la función.
Asumirán los valores de la argumentos que se le pasan.
Entonces, si tienes una función llamada agrega, pasa una variable como
argumento, pasa el valor 5 y tienes una función con un parámetro x,
x va a ser igual a 5 en cualquier parte del cuerpo de la función.
El cuerpo de la función debe utilizar estos
parámetros en su implementación.
Si no es así, entonces no debería haber pasado.
Si tiene una variable de parámetro definido en la definición
de declaración de su función y nunca lo usa variable dentro de la función, eso es un desperdicio,
no la incluya porque eso es solo decir que no lo necesitas.
No envíe datos a un función que no lo está usando.
Un cuerpo funcional puede tener Variables definidas localmente que son necesarias para
la implementación de la función.
Puede tener dentro de la función cuerpo otras variables declaradas
porque son necesarias para cualquier tarea que esté completando.
No solo operas en los datos que se le pasan.
Puede operar en local datos dentro de la función.
Al pasar una matriz como un argumento a una función,
también debe pasar un argumento adicional, tener otro parámetro definido especificando el
tamaño de la matriz.
La razón de esto es que el La función no tiene forma de saber cuántos
elementos hay en la matriz.
Así que incluso si declaraste un matriz de tamaño 50, es posible
que solo esté almacenando 30 elementos.
Y si vas a usar eso matriz dentro del cuerpo de
la función, probablemente necesitará sepa qué tan grande es porque necesitará iterar
a través de él usando un bucle o necesitará
acceder a los elementos.
Y si sus elementos de acceso está iterando a
través de él, necesita saber si cuando estás fuera de los límites.
Y hemos hablado de la salida límites allí y por qué eso es importante.
Bueno, aquí tienes un ejemplo.
Cuando la función printf está llamado, siempre proporciona uno
o más valores como argumentos.
El primer valor es que cadena entre comillas dobles.
Los valores restantes son cualquiera variables que se mostrarán.
Esta es en realidad una función que toma un número variable de argumentos de
los que probablemente no vamos a hablar ya que esta es una clase para
principiantes, es un concepto más avanzado.
Pero la función printf es una buen ejemplo
en cuanto a pasarle datos porque le está pasando múltiples conjuntos de
datos, ya sea la cadena dentro de las comillas o variables que desea mostrar.
Por eso es tan importante poder pasar datos a una función.
Mejora enormemente la utilidad y la flexibilidad de una función.
Si las funciones no tuvieran el capacidad para aceptar datos, no
serían tan útiles.
En el ejemplo que proporcioné en la última
conferencia donde tuvimos una función que mostraba salida, realmente no hizo mucho.
Fue muy estático.
Hizo la misma cosa cada vez que lo invocaste.
Pero, ¿y si tuvieras una función? que tomó datos, entonces puede
controlar lo que se muestra.
Al igual que la función printf.
Si la función printf no tiene parámetros, no podría
decirle qué mostrar.
Si no aceptó los datos, no podría decir, oye, mostrar
esta variable o mostrar esta cadena.
No sería muy útil.
Entonces quieres poder pasar datos a una función la hace
mucho más útil y flexible.
Y lo verás.
Quiero decir si hacemos multiplicación función, no querrás multiplicar lo
mismo dos números cada vez.
Tomarías parámetros y datos se le pasaría por dos números.
Entonces podrías hacer diferentes cálculos basado en los datos que se le pasan.
Muy, muy importante de entender el paso de datos y por qué es útil.
También es una buena idea agregar comentarios antes de cada una de sus
propias definiciones de función.
Ayuda a explicar lo que va a hacer la función y
cómo se utilizarán los argumentos.
Normalmente verá esto.
Verás esto en mis ejemplos.
Tienes la declaración de función en la parte superior del archivo, tiene
la definición de la función.
La definición de función incluye el encabezado de la función.
Justo encima de la función encabezado, tiene comentarios,
generalmente comentarios de varias líneas.
Entonces tienes la barra, el asterisco.
Y ahí dices el nombre del función, el propósito de la función y luego
también describir cualquier dato que se pasa a la función.
Esto, de nuevo, es por mantenimiento. y poder encontrar y corregir
errores mucho más rápido.
Por lo general, desea tener un buen nombre para la función
que te dirá algo.
Pero con comentarios adicionales, te dirá aún más.
Aquí hay un ejemplo que es una función. que multiplica dos números, que obtiene que
se le pasan datos.
Tenemos nuestro multiplicar dos números.
Sabemos que es una función porque tiene los parámetros esencialmente.
Tiene paréntesis.
Esa es una forma de identificar funciona cuando ve paréntesis.
Quiero decir que también podríamos identificar porque tiene un tipo de retorno.
Hay muchas cosas que dinos que es una función.
Pero lo principal son los paréntesis. y luego también ves los corchetes,
los corchetes que significan el inicio y final del bloque.
Esto multiplica dos aunque los números funcionan.
Recuerde que los parámetros de la función se definen entre paréntesis y luego se
separan por comas.
Aquí tenemos dos parámetros.
Tenemos un parámetro llamado x y un parámetro llamado y.
Para cada parámetro, tiene que identificar el tipo de
datos que está ingresando.
Así que aquí tenemos dos entradas.
Esta es la forma estándar de pasar datos y cómo hacerlo.
Entre paréntesis, datos luego escriba un nombre para la variable.
El nombre de la variable porque cualquier cosa que sea válida en
c para el nombre de una variable, podría llámalo x y z como quieras.
Simplemente no puedes iniciarlo con un símbolo de signo de dólar.
Y luego los separas por comas, acostumbrarse a esta
convención, los parámetros entre paréntesis.
Si no tuvieras parámetros, no hay datos que se pasa
a la función, lo que verías entre esos el paréntesis es nulo o no
verá nada entre paréntesis.
Esta función es todo lo que va a hacer ¿Va
a tomar los datos que se le pasan, que son dos variables? ahora llamado xey, y los va a
multiplicar y almacenar en una variable llamada resultado o, en este caso, parece
que lo escribí mal t.
Y luego lo que hace es imprime datos.
Imprime los datos que se multiplica.
Pero nuevamente, vea la flexibilidad y utilidad de la función
porque toma datos.
Puede mostrar diferentes datos basados en lo que le pasa.
Cuando invocamos la función en el rutina principal aquí, decimos multiplicar
dos números y pasamos los argumentos.
Pasamos el valor 10 y 20.
Podríamos pasar en variable nombres aquí también.
Pero en este ejemplo, estamos solo digo 10 y 20.
Esto va a llamar a la función multiplique
dos números y pasará los datos 10 para el primer parámetro 20 para el segundo.
Entonces x va a ser igual a 10, y va a ser igual a 20.
Entonces, cuando hacemos nuestra multiplicación x veces y, va a ser 10 veces 20,
el resultado se almacenará 200 y
luego mostrará ese resultado junto con las variables que se pasan a x y y z.
Entonces va a mostrar 10 20 y luego 200.
También observe que podemos ahora reutilice esta función.
Lo volvemos a llamar con diferentes datos, valores de datos 20 y 30 en nuestra segunda
línea aquí en la función principal.
Y luego lo llamamos de nuevo a tercera vez para multiplicar 50 por 2.
Muy útil para poder hacer esto para crear
una función que toma diferentes datos lo hace reutilizable, lo hace flexible.
Y la sintaxis es muy fácil de seguir.
Son solo dos variables dentro de los paréntesis separados por comas.
Y luego llamar es incluso más fácil, simplemente espacio un
nombre y tiene los dos datos.
Cualquier dato que esté separado por paréntesis del lado común y luego termina
con un punto y coma.
Puedes pasar cualquier tipo de tipo de datos en una función.
Puede pasar una matriz.
También vamos a hablar sobre cómo puede pasar otros tipos de datos.
Tenemos ejemplos sencillos aquí, pero también puede pasar punteros, de los que aún no
hemos hablado.
Puede pasar en estructuras.
De nuevo, otro concepto no hemos hablado.
Pero se vuelve realmente realmente significativo y útil cuando pasa
datos aquí.
Este es un ejemplo simple.
Observe la sintaxis, estudie esto y le proporcionará un buen desafío en
el que escriba un número de funciones diferentes.
Gracias.