Examen

Solo disponible en BuenasTareas
  • Páginas : 7 (1544 palabras )
  • Descarga(s) : 7
  • Publicado : 16 de junio de 2009
Leer documento completo
Vista previa del texto
Funciones y Estructuras
Introduccin a la programacin

Obed mora luevanos 2compav
[19 de mayo de 2009]

Funciones y estructuras.
Una funcin es un conjunto de lneas de cdigo que realizan una tarea especfica y puede retornar un valor. Las funciones pueden tomar parmetros que modifiquen su funcionamiento. Las funciones son utilizadas para descomponer grandes problemas en tareas simples ypara implementar operaciones que son comnmente utilizadas durante un programa y de esta manera reducir la cantidad de cdigo. Cuando una funcin es invocada se le pasa el control a la misma, una vez que esta finaliz con su tarea el control es devuelto al punto desde el cual la funcin fue llamada.
Se pueden crear nuevos tipos con estructuras compuestas por uno o ms de uno de los tipos mencionados. EnC, C++ en orden de crear nuevas estructuras se emplean las palabras reservadas struct, union y class.
struct: esta orden se emplea para agrupar variables de tipos iguales o diferentes en un solo registro, con la misma se pueden crear estructuras annimas, estructuras con nombre, y un tipo especial de estructura conocida como bit-fields ( banderas o campos de bits ).
union: una union es similar auna struct, salvo que en una estructura creada con union los campos o variables comparten una direccin de almacenamiento comn.
class: una clase es una estructura en donde se agrupan variables y funciones, la misma es usada en Programacin Orientada al Objeto. Las clases no son soportadas por el C estndar.

Las funciones pueden ser muy tiles para manejar estructuras en varias formas que seexponen a continuacin. Adems:

Una funcin puede devolver una estructura o un puntero-a-estructura:
mystruct f1(void); // devuelve estructura
struct myst f2(void); // devuelve estructura
mystruct* f3(void); // devuelve puntero a estructura

Una estructura puede ser pasada como argumento a una funcin de varias formas:
void f1(mystruct s); // directamente (por valor)
void f2(mystruct* sptr); //via puntero (por valor)
void f3(mystruct& sref); // indirectamente (por referencia)

La funcin creapu puede utilizarse para crear estructuras dinmicamente, o pasarlas como argumento a funciones. Observe que no existe conflicto entre los nombres de los parmetros y los miembros de temp, ya que pertenecen a espacios de nombres distintos.

Muchas funciones de las Libreras Estndar C++ utilizanestructuras como argumentos, como valores devueltos, o mediante punteros. Se trata de estructuras de formato fijo y conocido, cuya definicin se encuentra en las cabeceras correspondientes.

Una funcin es un conjunto de declaraciones, definiciones, expresiones y sentencias que realizan una tarea especfica.
El formato general de una funcin en C es
especificador_de_tipo nombre_de_funcin(lista_de_parmetros )
{
variables locales
cdigo de la funcin
}

El especificador_de_tipo indica el tipo del valor que la funcin devolver mediante el uso de return. El valor puede ser de cualquier tipo vlido. Si no se especfica un valor, entonces la computadora asume por defecto que la funcin devolver un resultado entero. No se tienen siempre que incluir parmetros en una funcin. la lista de parmetrospuede estar vaca.
Las funciones terminan y regresan automticamente al procedimiento que las llam cuando se encuentra la ltima llave }, o bien, se puede forzar el regreso antes usando la sentencia return. Ademas del uso sealado la funcin return se usa para devolver un valor.
Cuando se usan un arreglo como un argumento a la funcin, se pasa slo la direccin del arreglo y no la copia del arregloentero. Para fines prcticos podemos considerar el nombre del arreglo sin ningn ndice como la direccin del arreglo.
Considerar el siguiente ejemplo en donde se pasa un arreglo a la funcin imp_rev, observar que no es necesario especificar la dimensin del arreglo cuando es un parmetro de la funcin.
Observar que en la funcin imp_rev se usa la funcin strlen para calcular la longitud de la cadena sin...
tracking img