Crear funciones en C:
En Pseudocodigo:
<inicio>
declarar variables
codigo del programa
varible=nombrefuncion(listaargumentos)
<fin>
<inicio nombre
funcion(listaargumentos)>
declaracion de variable
codigo de la funcion
DEVOLVER valor
<fin nombredefuncion>
Ambito de variables según donde las
definamos las variables.
En C, una funcion siempre hay que
declararla y definirla
Declararla:
Indicarle al compilador que vamos a
usar esa funcion e indicarle las caracteristicas que va a tener la
funcion.
Definicion de la funcion:
El código en si de la función.
Deben “encajar” la declaracion con
la definicion.
Como se hace la declaracion:
Indicando:
tipoRetorno
nombrefncion(listaTiposArgumentos)
tipoRetorno:
el tipo de dato que va a devolver
listatiposArgumento:
indico el tipo de datos y el nº de datos
ejemplo:
Esto
es la declaracion de la funcion: devuelve un entero y los argumentos
son 2 enteros
int
sumar(int,int);
Esto
seria la definicion de la funcion: (ademas de tipo, le indico
nombres)
int
sumar(int n1, int n2) {
int
resul=0;
resul=n1+n2;
return
resul;
}
resul
tiene que ser del mismo tipo int,
que el tipo que devuelvo.
¿Las
funciones donde se declara? Se hace antes de poder usarla y antes de
poder definirla. (osea entre despues de los include y el main)
¿la
definicion donde puede estar? Excepto dentro del main, ni dentro de
una funcion, en cualquier lado (otro archivo .c, despues del main)
Nombres
de funciones: requesito de las variables (letras y numeros, y se
diferencias entre mayusculas y minusculas)
Procedimientos:
Los
procedimeintos tecnicamente en C no existen, pero se pueden simular.
Existe un tipo de datos que se llama void
tipo de dato “no me interesa”, con lo cual lo tengo que poner
return.
Declaración
void
suma(int,int);
Definición:
void
suma(int n1,int n2){
resul=n1+n2;
}
En
pseudocodigo solo se pone el nombre de la función.
Nota: Cuando los argumentos son Tablas
En
los tipos de datos basicos (enteros, float), se pasa un duplicado del
original.
Pero
en las tablas se pasan como
punteros.
Por
ejemplo:
Declaración
void
ordenarAscendiente(int *);
Descripción
void
ordenarAscendiente(int *Tabla){
….
….
}
Un
puntero es una variable que su contenido es la referencia a otra
variable (para
entendernos es un
segundo nombre para la misma tabla). La
función ordenaAscendiente trabaja en la misma tabla, no nos devuelve
nada.
Pseudocodigo
|
C
|
Función Declaración: |
Función Declaración: |
Uso: varible=nombrefuncion(listaargumentos) |
tipoRetorno
nombrefuncion(listaTiposArgumentos);
Uso:variable=nombrefuncion(listaargmentos) |
Función Descripción |
Función Descripción |
<inicio nombre
funcion(listaargumentos)>
declaracion de variable
codigo de la funcion
DEVOLVER valor
<fin nombredefuncion> |
tipoRetorno
nombrefuncionsumar(int
n1, int n2) {
tipoRetorno
resul=0;
resul=n1+n2;
return
resul;
} |
Procedimiento: |
Procedimiento: |
Declaración: |
Declaración |
nombreprocedimiento(listaargumentos) |
Void nombreprocedimiento(listaTiposArgumentos); |
Descripción |
Descripción |
<inicio nombreprocedimiento(listaargumentos)>
declaracion de variable
codigo de la funcion
<fin nombredefuncion> |
void nombreprocedimiento(listaTiposArgumentos) { ….. …. } |
No hay comentarios:
Publicar un comentario