Pas forcément dans le sens que tu souhaites, puisqu'il faut démarrer la JVM puis ton programme.
Donc, soit tu fais un system("java monprog.class" ); puis tu communiques avec ton programme Java via CORBA par exemple ou via une socket toute bête.
Soit tu laisse le programme Java être le centre, et exécuter tes fonctions en C lorsque c'est nécessaire. Tu utilises JNI pour ça:
http://java.sun.com/docs/books/tutorial/native1.1/
Perso, je te recommende d'utiliser une Socket pour les faire discuter, ça a le mérite d'être plus simple au fond.