Abstract data types , private data types, and information hiding are not restricted to object-oriented languages like C++ and Java . These concepts can and should be implemented created and used in C language programs as well. Abstract data types are most effective when used with private (opaque) data types and information hiding. Consequently, it is advantageous to implement abstract data types using opaque data types.
Non-Compliant Code Example
...