Advanced C is a repository focused on sharing small explanatory examples of advanced topics in the C programming language. It is divided into small cases, which come with sample code that can be tested in any IDE or online compiler for learning purposes, as well as an explanatory diagram in excalidraw, which illustrates the interaction of the code with the basic concept of the problem exposed, such as memory usage and other topics. Along with this, there is also an explanation of why the cases occur and how to deal with them.
It is a great opportunity to delve deeper into some niche points of the language, in order to enrich the code and the understanding of standard topics, which can be used in any development environment, for any stack used, such as memory management and architecture. The main purpose is to share specific knowledge acquired over years of study and professional experience with the language, helping those who seek to learn more to have access to content that is palatable to all audiences!
- "Sharing knowledge is a noble attitude that enriches both the person sharing it and the person receiving it, as knowledge multiplies when it is shared."
/advanced-c
├── /cases
│ ├── /array_decay
│ │ ├──/ excalidraw
│ │ │ ├── README.md
│ │ │ └── array_decay.c
│ │ └── README.md
│ └── /other_cases...
├── /images
├── .gitattributes
├── .gitignore
├── LICENSE
└── README.md
Title | Author / Year |
---|---|
Charles Cabergs - Advanced C (Playlist on YouTube) |
Charles Cabergs, 2023 |
The C Programming Language | Brian W. Kernighan, Dennis M. Ritchie, 1978 |
Compilers: Principles, Techniques, and Tools | Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Monica S. Lam, 1985 |
Grokking Algorithms | Aditya Bhargava, 2015 |
Domain-Driven Design: Tackling Complexity in the Heart of Software | Eric Evans, 2004 |
Understanding and Using C Pointers: Core Techniques for Memory Management | Richard M. Reese, 2013 |