Las funciones C son simples, pero debido a cómo funciona C, el poder de las funciones es un poco limitado.
En C, los argumentos se copian por valor a las funciones, lo que significa que no podemos cambiar los argumentos para afectar su valor fuera de la función. Para hacer eso, debemos usar punteros, que se enseñan más adelante.
Las funciones se definen con la siguiente sintaxis:
int foo(int bar) { /* hacer algo */ return bar * 2; } int main() { foo(1); }
La función foo
que definimos recibe un argumento: bar
. La función recibe un número entero, lo multiplica por dos y devuelve el resultado.
Para ejecutar la función foo
con el valor 1 para el argumento bar
, usamos la siguiente sintaxis:
foo(1);
En C, las funciones se deben definir antes de que se utilicen en el código. Pueden declararse primero y luego implementarse usando un archivo de cabecera o al principio del archivo C, o pueden implementarse en el orden en que se usan (menos preferible).
La forma correcta de usar funciones es la siguiente:
/* Declaración de la función */ int foo(int bar); int main() { /* Llamada a la función foo desde main */ printf("The value of foo is %d", foo(1)); } int foo(int bar) { return bar + 1; }
También podemos crear funciones que no devuelven un valor usando la palabra clave void
:
void moo() { /* hacer algo y no devolver un valor */ } int main() { moo(); } int foo(int bar) { return bar + 1; }
Escribe una función llamada print_big que recibe un argumento (un entero) e imprime x es grande si el argumento dado a la función es un número mayor que 10.