Creo que se puede resumir facilmente así:
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int res=0,num1, num2;
printf("Inserta numero 1:\n");
scanf("%d",&num1);
printf("Inserta numero 2:\n");
scanf("%d",&num2);
res=suma(num1,num2); //invocamos a la funcion
printf("El resutlado es: %d \n",res);
system("PAUSE");
return 0;
}
int suma(int num1, int num2); //prototipo o firma de la funcion
int suma(int num1, int num2) // cuerpo de la funcion
{
int x=0;
x=num1+num2; //proceso que hace la funcion....
return x;
}
Esto es un ejemplo de funcion muy básico que funciona perfectamente. Hace uso de "paso de parametro por valor".
Desde luego hay funciones mas complejas (con punteros, arreglos, etc)
Basicamente funcionan asi:
Una funcion es un trozo de codigo que tiene como objetivo realizar un proceso; este proceso generalmente tiene que recibir parametros, y al final nos regresa el resultado del proceso que hizo con esos parametros.
Sirve para modularizar (dividir) un problema en varias partes más pequeñas.
Si tienes alguna duda más concreta hazla saber.
Saludos, Raly.