Look how far you've come!
You now know the core of the C language:
- printing and reading with
printfandscanf, - variables, types and maths,
- decisions with
ifandswitch, and loops, - functions and recursion,
- arrays, strings and 2D arrays,
- pointers, structs and dynamic memory,
- enums, macros, files and multi-file programs.
That is a real foundation. Many professional programmers started exactly here.
Where to go from here
- Practise. The C Labs on this site have lots more challenges at every level. Solving small problems is the fastest way to get better.
- Data structures. Use your pointer and struct skills to build linked lists, stacks and queues.
- C++. C++ is built on top of C and adds classes, strings and ready-made containers. Most of what you learned here works there too.
- Linux and systems. Linux is written in C. Learning Linux shows you where C really shines.
- Security. Understanding memory in C is the first step to understanding many security bugs, like buffer overflows.
Remember: Every expert was once a beginner who kept practising. Write a little C every day!