Funciones de ayuda de programación C modularizar código. Las funciones contienen bloques de código que realizan ciertas tareas de uso frecuente. Los programadores pueden llamar a estos bloques de código con el nombre de la función. Sin embargo , ¿cómo un programador declara realmente una función dicta la forma en que se puede utilizar. A veces , un programador tiene que definir una función que simplemente hace una tarea sin devolver cualquier resultado - uno que ningún otro programador puede utilizar fuera del archivo que lo contiene . En este caso , se puede definir la función como estática y sin efecto . Función y tipos devueltos
En programación C , cada función tiene un tipo de retorno . Este tipo de retorno indica al compilador C que la función va a producir un valor de cualquier cálculo que realiza. El programador puede utilizar el tipo de cambio y asignarlo a una variable. También se puede utilizar en una sentencia condicional o en cualquier lugar del valor podría ser útil en el programa. Los siguientes ejemplos muestran funciones con diferentes valores de retorno , y cómo esas funciones se denominan en la práctica:
myFunc int (int x ) {
return x * 2 ;
}
caracteres myFunc2 () {
return ' v ' ;
}
int y = myFunc ( 3 ) //"y " es igual a 6
carta char = myFunc2 (); /" letra" /es igual a "v "
funciones Void
funciones Void
son diferentes, ya que devolver ningún valor. Esto le dice al compilador que la función no debe devolver una función con la instrucción "return" . Sin embargo , el programador todavía puede utilizar la instrucción de retorno , siempre que no devuelve ningún valor . La sentencia return en una función void puede detener la función antes de tiempo si es necesario, sin dar un valor. El siguiente ejemplo muestra cómo una función void podría ser en la práctica:
myFunc3 void (int z ) {
if ( z == 0 ) {
retorno; //termina la función de ejecución
} else {
cout << z ; //imprime ' z' , pero no devuelve ningún valor
< br >
Funciones estáticas
la palabra clave "static " antes de una función indica al compilador que la función no debe ser visible fuera de su archivo actual. A menudo, los programadores escriben funciones en archivos de definición separados que pueden importar a otros programas. Sin embargo , un programador podría resultar beneficioso limitar el acceso a una función en el archivo que lo contiene. La función puede entonces sólo será utilizada por otro código existente en el mismo archivo . El siguiente ejemplo muestra cómo una función estática obras :
//función en " file1.h "
static int triples (int x ) {
return x * 3 ;
}
//file2.c
importación " file1.h "
int main () {
int y = triples ( 3 ) //compilador generará un error , indicando que la función no existe
}
funciones static void
static void son funciones que se limitan a un solo archivo y que el regreso no tiene valor . Debido a esto , su uso está limitado . Sin embargo , si un programador desea escribir código específica de archivo , una función static void podría ayudar a organizar el código . Si un archivo de origen C tiene algunas funciones que el programador va a utilizar en otros archivos , y de esas funciones dependen de otras funciones más pequeñas en su archivo de origen , el programador puede optar por hacer esas funciones más pequeñas estática. Si estas funciones sólo están realizando las tareas y no devolver los resultados , entonces el programador designarlos static void .