Один из способов - это, конечно, читать чужой код.Таким образом, вы увидите, как другие программисты используют язык, и будете вынуждены продумать, как работают различные конструкции.
Это может быть довольно сложно, поскольку многие существующие проекты велики и / или не очень хорошидокументированы.Синтезировать архитектуру проекта из одного кода может быть сложно.Попробуйте найти проект с открытым исходным кодом C разумного размера (например, , а не ядро Linux), который также имеет хотя бы некоторую элементарную поддержку / документацию для новичков в коде.