Functions and variables have prototypes in header files for external use. The programmer must manage itself the memory, using pointers and functions to allocate of free fields of memory. By declaring instances of classes you can reuses set of variables and methods without to define them again. Memory management is unchanged. Overloading allows to declare a method with different parameters.
Classes inherits one from other and share their methods.
C has known success thanks to the liberty if offers to programmers. The drawback is the difficulty to debug the programs. It is fast, and a large collection of APIs is available. It remains the best tool for system programming. The site proposes also the comnand line compiler for free.