C is an old language lacking many, many, many modern features. One of the features it does not lack is encapsulation and isolation.
C is an old language lacking many, many, many modern features. One of the features it does not lack is encapsulation and isolation.
Thank you for the article. Opaque struct is an interesting subject for people who want to go deeper into their understanding of C.
If I could add/emphasis two points to the article:
FILE is a famous example of struct using this trick. So, even if yon don’t often need to develop an opaque struct in C, you certainly use such struct daily without knowing.
you can’t declare a variable with an opaque type (because the compiler would need to know its size). Everything must be handled through pointers, and the library has to provide functions to allocate/destroy the struct, like fopen() and fclose() for FILE.