Usare librerie C in C++ e' un'operazione che si puo' fare e viene fatta correntemente.
MA la cosa NON E' banale: ci sono delle direttive SPECIFICHE del linguaggio, a supporto del compilatore, come ad esempio la
extern "C" { ... }
che probabilmente avrai gia' visto, ma se non l'hai vista, la trovi nei vari "stdio.h", ...
Ora, usare oggetti del C++ in C non e' banale, perche' il compilatore C++ usa un formato dei nomi (detto "name mangling") che serve per poter usare il linker del C ma linkare la funzione con i parametri giusti. Ricorda che il C++ permette l'overlading delle funzioni/metodi/...
Quindi, per poter usare delle strutture C++ in C hai due soluzioni:
1) scoprire come il compilatore C++ chiama quella struttura, ma questo DIPENDE dal compilatore.
2) convincere il compilatore C++ che quella struttura e' di tipo "C", scrivendo "extren "C" struct { ... }"
(nota: ovviamente questo non sara' sufficiente, ma per iniziare potrebbe bastare)
In ogni caso, poiche' il compilatore C++ FA MOLTI PIU' CONTROLLI di consistenza del compilatore "C", ANCHE se si scrive semplice codice "C", CONVIENE forzare l'uso del compilatore C++.
Questo lo si fa BANALMENTE giocando con l'estensione del file, che deve essere ".cpp" oppure ".cxx".