Laboratotio N1-23
Laboratotio N1-23
Laboratotio N1-23
Son variables locales a una función, ya que son creados al entrar en la función (se crean en la
pila) y destruidos cuando ésta termina.
2. ¿Por qué los arrays no se pueden pasar como parámetros por valor?
Sabemos que los argumentos a la función se pasan por valor en C por defecto. Sin
embargo, las arrays en C no se pueden pasar por valor a una función, y podemos
modificar el contenido de la arrays desde dentro de la función llamada. Esto se debe a
que la arrays no se pasa a la función, sino que se pasa una copia del puntero a su
dirección de memoria. Entonces, cuando pasamos una arrays en una función,
sería decaer en un puntero independientemente de si el parámetro se declara
como int[] O no.
Sin embargo, algunos trucos nos permiten pasar una array por valor en C/C++.
Se usa cuando queramos ejecutar una serie de acciones pero no quieres traerte el
resultado de todas esas acciones, sino simplemente que se ejecuten.
En C++, un puntero void puede apuntar a una función libre (una función que no es
miembro de una clase) o a una función miembro estática, pero no a una función
miembro no estática.
Las funciones incluidas en el programa de origen realizan una o más tareas concretas.
La función main puede llamar a estas funciones para que realicen sus respectivas
tareas. Cuando main llama a otra función, pasa el control de la ejecución a la función,
de modo que la ejecución comienza en la primera instrucción de la función. Una
función devuelve el control a main cuando se ejecuta una instrucción return o cuando
se llega al final de la función.
Puede declarar cualquier función, incluida main, para que tenga parámetros. El
término “parámetro” o “parámetro formal” hace referencia al identificador que recibe
un valor pasado a una funció. Cuando una función llama a otra, la función a la que se
llama recibe los valores de sus parámetros de la función que realiza la llamada. Estos
valores se denominan argumentos. Puede declarar parámetros formales para
que main pueda recibir argumentos de la línea de comandos mediante el formato que
se muestra en la firma de función.