По-перше, якщо вас здебільшого цікавить 1, я б почав із читання джерела Python різних модулів (а не переходу прямо до C). Щоразу, коли я читав джерело деяких модулів, я завжди дізнавався нове про програмування на Python.
По-друге, якщо ви намагаєтесь вивчити C краще, я особисто запропоную щось зовсім інше: запрограмуйте в ньому. Просто статичне читання вихідного коду не змусить вас краще розуміти C (або, принаймні, це обмежений підхід; це може зробити вас трохи кращим, але читання джерела достатньо).
Після програмування , по крайней мере помірно розмірний проект в C, то я б почати дивитися на джерело Python. Це справді єдиний спосіб пізнати C краще, і я справді думаю, що читання джерела C Python, не знаючи добре C, не приведе вас далеко.
Ідея для проекту С
Насправді, ось ідея для проекту С: напишіть інтерпретатор Python на мові C. Очевидно, що він не буде навіть завершений, і це досить складний проект, але якщо ви зосередитесь лише на деяких частинах мови, я думаю, це гарна ідея.
Це не тільки допоможе вам вивчити C, це допоможе вам набагато краще зрозуміти Python навіть до того, як заглянути в джерело: вам доведеться глибше розуміти багато речей у Python, ви зрозумієте компроміси в дизайні в як працює Python тощо.
Потім, коли ви нарешті прочитаєте код Python, ви не тільки зрозумієте, чому деякі речі працюють саме так, ви, ймовірно, вивчите багато справді чудових C-методів, які вирішують ваші проблеми.