LENGUAJE C.
VARIABLE LOCAL:
Una variable local es, en informática, la variable a la que se le otorga un ámbito local. Tales variables sólo pueden accederse desde la función o bloque
de instrucciones en donde se declaran. Las variables locales se contraponen a las variables
globales.
En la mayoría
de lenguajes de
programación las variables
locales son variables
automáticas almacenadas
directamente en la pila de llamadas. Esto significa que cuando una función
recursiva se llama a sí misma, las variables locales reciben, en
cada instancia de la función, espacio
para el direccionamiento de memoria
separados. De esta forma las variables con este ámbito se pueden declarar,
reescribir y leer sin riesgo de efectos
secundarios para los
procesos fuera del bloque en el que son declarados.
Variable Global:
Una variable global es, en informática, una variable accesible en todos los ámbitos de un programa informático. Los mecanismos de interacción con variables globales se denominan mecanismos de entorno global. El concepto de entorno global contrasta con el de entorno local donde todas las variables son locales sin memoria compartida (y por ello todas las iteraciones pueden restringirse al intercambio de mensajes).
El uso de variables globales se
desaconseja especialmente para lenguajes de
programación funcionales
(como puede ser Scheme).
Viola la transparencia
referencial
y dificulta la legibilidad del código fuente.
FUNCIONES
Al declarar una función en C++, de la misma forma que hacíamos en Hugs, debemos darle un nombre e indicar cuántos y de qué tipo son los parámetros que recibe y de qué tipo es el valor que devuelve.
En
C++ declaramos una función de la siguiente manera:
<tipo
del valor devuelto por la función> nombre
(<lista
de parámetros que recibe>)
Los
parámetros que recibe la función se separan con comas, y cada parámetro debe
tener la siguiente forma:
<tipo
del parámetro> nombre
Así,
las siguientes son declaraciones posibles de funciones:
int max(int
a, int b)
char SexoPersona(int dni_persona)
float
producto(float x,
int y)
int dame_un_numero_cualquiera( )
Una
vez que declaramos una función, debemos indicar qué hace o cómo calcula el
valor que devuelve a partir de los valores recibidos. O sea debemos implementar la
función, debemos escribir el cuerpo de
la función. El mismo consta de una secuencia de operaciones encerradas entre
llaves
int max (int
a, int b)
{
... secuencia
de operaciones…
}
Para
indicar el valor de retorno de la función, utilizamos la sentencia return<
valor>:
int max (int
a, int b)
{
…secuencia
de operaciones que calculan el máximo entre a y b y lo guardan en una variable
c ...
return c;
}
DECLARACION DE FUNCIONES
La declaración da a
conocer la función al compilador, de forma que a partir del punto de
declaración, ya se pueden realizar invocaciones a la misma. A su vez, la definición estará en algún otro punto del programa,
tal vez en una librería externa (en forma ya compilada) o en otro módulo de
programa (como texto fuente).
Una
función puede ser declarada varias veces en un mismo programa, y las
declaraciones pueden aparecer en cualquier orden; en un fichero fuente o en
varios, pero en cualquier caso antes de su uso, es decir: antes de cualquier
invocación a la función . Además de declarar el nombre de la
función y el tipo devuelto (por defecto se supone int
) se declaran también el tipo de los parámetros.
§2
Sintaxis:
[externa] <tipo-devuelto>
nombre-función ()
// §2a
[externa] <tipo-devuelto> nombre-función (<tipo>, ...) // §2b
[externa] <tipo-devuelto> nombre-función (<tipo> <parámetro>, ... ) // §2c
[externa] <tipo-devuelto> nombre-función (<tipo>, ...) // §2b
[externa] <tipo-devuelto> nombre-función (<tipo> <parámetro>, ... ) // §2c
§2.1
Ejemplos:
`externa int funcion1
(); // no acepta ningún
argumento
externa int funcion1 (vid); // mejor que la anterior
funcion2 (char, int); // por defecto supone que devuelve int
int funcion2 (char, int); // mejor que la anterior
char funcion3 (char c, int i); // incluye nombres de parámetros
externa int funcion1 (vid); // mejor que la anterior
funcion2 (char, int); // por defecto supone que devuelve int
int funcion2 (char, int); // mejor que la anterior
char funcion3 (char c, int i); // incluye nombres de parámetros
No hay comentarios:
Publicar un comentario