Я изучаю C около двух лет (не посстоянно, а были периоды где пол года изучал , потом переключивался на другую потом снова и в итоге около двух лет что-то пытался изучить).
Но честно говоря я толком ничего не умею. Во всех книгах изучают переменные, условия, циклы, функции, указатели, структуры и прочее.
Но не более.
Если я возьму условно какую нибудь одну книгу по пайтон по созданию сервера или игры.
Я реально могу написать это и даже пойму что-где и как. Мне не нужно изучать ничего более.
А на СИ ты подключаешь 20 библиотек.
Но в C можно использовать тип с плавающей точкой с 500 цифрами после запятой, осуществлять сортировку быстрее алгоритма quicksort, писать функции из г*вна.
Где грань между мной и C программистом.
Что мне нужно изучать дальше? После изучения "переменные, условия, циклы, функции, указатели, структуры и прочее".
Изучай алгоритмы и структуры данных. Вообще, это не "дальше", а с этого надо было начинать. Возьми учебник по дискретной математике и читай, решая задачи из него.
Программист - это тот, кто может перевести задачу предметной области в формальную постановку, а затем - решить её в коде, зная характеристики решения. А тот, кто знает лишь "переменные, условия, циклы, функции, указатели, структуры и прочее" - это кодер низшего звена, как таджик на стройке.