C DLL/Shared object APIs

Why do we need C APIs in DLLs and shared objects?