Las funciones puedes separarlas como
Tipo Nombre(parametros){//aqui inicia
Acciones
Retorno //si no es void
}//aqui cierra
El tipo, es el tipo de valor que retornará, void, implica que no retorna nada
el nombre no debe contener espacios, caracteres especiales y no debe iniciar en número
Los parámetros son las variables que se le pasarán, el nombre es como se representarán dentro de la función y si tipo debe coincidir con el original
Las funciones tienen un "alcance" al que se le llama "scope" esto representa que verán y que no, al estar aparte del main, normalmente desconocen cualquier referencia a toda variable declarada allí
Por ultimo el retorno, es simplemente un valor que devolverán, si la función es asignada a una variable ejemplo
int variable = funcion_algo();
La variable contendrá lo que sea que la funcion retorne
Algo importante de recordar, el retorno es el fin de la función, si se hace la función termina
int ejecutar (){
int a = 1;
return a;
Esto_nunca_pasara();
}