Anuncios

Bienvenidos sean a este post, hoy veremos que son las funciones.

Anuncios

Que es una funcion? Bueno, muy basicamente podemos definirla como:

Un bloque de instrucciones que podremos usar reiteradamente en el codigo

el tinchicus
Anuncios

Es decir que este sera un bloque de instrucciones que podremos llamar cuando queramos desde cualquier parte del codigo, veamos como es su sintaxis:

tipo_dato nombre_funcion (<argumentos>)
{
	... instrtucciones ...
	return tipo_dato;
}
Anuncios

Estos son los datos obligatorios para definir una funcion, en el primer caso tenemos el tipo de dato que al igual que hemos mencionado en este post sera el mismo tipo que debemos devolver a la hora de finalizar la funcion, veamos cuales son los tipos disponibles:

  • int, maneja valores enteros (numeros sin comas)
  • short, maneja un valor entero corto
  • long, maneja un valor entero largo
  • float, maneja valores con comas (flotantes)
  • double, maneja un valor flotante pero con mejor precision
  • boolean, maneja valores de tipo booleano (true o false)
  • char, maneja un caracter
  • void, no maneja ningun valor
Anuncios
Anuncios

Es decir dependiendo del tipo de dato que debemos procesar sera el que asignaremos a la funcion, el unico excepcional es void porque al no ser un tipo (su nombre lo indica porque significa vacio) no devuelve ninguno por lo tanto es ideal para cuando no sabemos muy bien como debemos manejar esa informacion, este tipo tambien lo podemos usar para el main pero no es una practica recomendada aunque veremos un ejemplo de como es.

Anuncios
Anuncios

Siguienndo con la descripcion de la funcion lo siguiente es el nombre o como se lo denomina: el identificador; porque este sera el nombre que usaremos en el codigo para poder acceder a las instrucciones que posee el bloque de la funcion, tambien de forma opcional podemos pasar argumentos, es decir variables que almacenaran un valor las cuales procesaremos en el bloque de la funcion, estas pueden ser todas las necesarias o ser omitidas dado que como mencionamos son opcionales, por ultimo tenemos el bloque, aqui iran todas las instrucciones que sean necesarias para trabajar con nuestro codigo, y como mencionamos varias veces despues de todas las instrucciones debemos devolver un valor del mismo tipo que define a la funcion, salvo que sea de tipo void, con esto ya tenemos todo lo necesario para comenzar a trabajar con funciones, para esto crearemos un nuevo archivo que llamaremos ejemplo02.c y la agregaremos el siguiente codigo:

ejemplo02.c

#include <stdio.h>

void saludar()
{
	printf("Hola, Mundo\n");
}

int main()
{
	saludar();
	return 0;
}
Anuncios

Primero incluiremos la libreria de siempre despues tendremos nuestra primera funcion, en este caso es de tipo void porque no queremos que devuelva ningun valor sino que simplemente muestre el mensaje «Hola, Mundo» en pantalla, como identificador usamos a saludar, en el main usamos el identificador para llamar a la funcion y luego lo cerramos como siempre, compilemos el codigo y ejecutemos el programa para ver como funciona:

tinchicus@dbn001vrt:~/lenguajes/C$ gcc fuente/ejemplo02.c -o prog/ejemplo02
tinchicus@dbn001vrt:~/lenguajes/C$ ./prog/ejemplo02 
Hola, Mundo
tinchicus@dbn001vrt:~/lenguajes/C$
Anuncios
Nota:
Para diferenciar el codigo de los programas uso dos directorios distintos.
Anuncios

Como pueden ver nos devolvio el mensaje de la funcion, ahora vamos a tomar el codigo y lo vamos a modificar de la siguiente manera:

ejemplo02.c

#include <stdio.h>

void saludar()
{
	printf("Hola, Mundo\n");
}

int sumar(int a, int b)
{
	return a + b;
}

void main()
{
	saludar();
	printf("%i\n",sumar(2,3));
}
Anuncios
Anuncios

En este nuevo codigo simplemente hicimos dos modificaciones importantes, la primera sera una nueva funcion llamada sumar la cual debera devolver un valor de tipo int, por eso utilizamos este tipo, en este caso le decimos que recibira dos valores de este mismo tipo los cuales identificaremos como a y b, despues en el bloque le decimos que devuelva directamente la suma de ambos valores informados, la otra modificacion realizada es que el main ahora es de tipo void, y en ella hicimos una pequeña modificacion en el printf para poder mostrar el valor de tipo int:

printf("%i\n",sumar(2,3));
Anuncios
Anuncios

En las comillas pasamos a %i, esto le indica que debe trabajar con un valor de tipo entero (int) y despues le agregamos la secuencia de escape para la nueva linea, despues usamos una coma y le pasamos el valor que mostraremos en pantalla, en este caso pasamos la funcion nueva y entre los parentesis pasamos los dos valores que seran procesados por la misma, y como este nos devolvera un valor lo usaremos para el printf, por ultimo como cambiamos al main de int a void debemos eliminar la linea return 0, procedamos a compilarlo y ejecutarlo para ver como es su salida:

tinchicus@dbn001vrt:~/lenguajes/C$ gcc fuente/ejemplo02.c -o prog/ejemplo02
tinchicus@dbn001vrt:~/lenguajes/C$ ./prog/ejemplo02
Hola, Mundo
5
tinchicus@dbn001vrt:~/lenguajes/C$
Anuncios

Observen como no nos devolvio ningun error, al ejecutarlo no solo nos trajo el mensaje de la funcion saludar sino tambien el resultado de procesar los dos valores en la funcion sumar, como pueden darse cuenta podemos agregar todas las funciones necesarias y las podemos utilizar todas las veces que queramos, por ultimo sobre el printf debemos usarlo de esa forma porque solo de manera predeterminada muestra literales, para otro tipo de datos deberemos manejarnos de esa forma, pero no se preocupen porque de esto hablaremos detalladamente en otro post.

Anuncios

En resumen, hoy hemos visto funciones, que son, para que se usan, como se componen, algunos datos particulares de la misma, un ejemplo simple para verlo en accion y otro para ver como trabaja con los datos que recibe, asi como nuestra primera introduccion a como usar printf, espero les haya sido de utilidad sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios
pp258

Donación

Es para mantenimento del sitio, gracias!

$1.50

Anuncio publicitario