I have learned C programming several years ago, but I would like to refresh my knowledge so looking for some material, which is perfect for this purpose. I have found ALISON courses and I am looking for similar solutions like this, where I can also take tests.

Dani AI

Generated

A practical refresher should combine a short, focused review of core concepts with steady, hands‑on practice. First pass the essentials (types, control flow, functions, arrays, pointers, dynamic allocation, strings, structs, file I/O, the preprocessor) and common pitfalls such as off‑by‑one errors and undefined behavior. Follow each short reading session with a small coding task to lock the idea in.

Choose constrained, testable projects that exercise different parts of the language: a line-based text filter, a CSV parser, an in-memory linked list with basic operations, a tiny command-line argument parser, or a simple unit-tested utility library. Reimplementing a few standard routines (safe string handling, a comparator-based sort, simple memory-compare) surfaces boundary cases and ownership issues without relying on libraries. Solve a set of small problems and compare other implementations to learn different trade-offs.

Adopt a tool-first workflow: compile with strict warnings and a standards flag (for example -Wall -Wextra -Wpedantic -std=c11) and use -g -O0 for debugging. Run AddressSanitizer and UndefinedBehaviorSanitizer (-fsanitize=address,undefined) during tests and use Valgrind for longer checks. Use a debugger (gdb or lldb), a static analyzer (clang-tidy), and a simple build setup (Make or CMake). Add unit tests early; pointer-heavy code regresses easily.

Combine a concise reference-style read with lots of code-reading, as suggested; practice by solving small tasks and comparing solutions, as recommended; and seek a code-review partner or mentor, as advised. Prioritize steady, tool-supported practice over passive watching of long video courses, and aim to finish one small, real project within a few weeks to prove the refresh.

Recommended Answers

All 10 Replies

The C Language as in what is in the K&R book isn't too hard to read and practice what's there.

It's when you go beyond what's in that book at move to real apps today that frankly I'm not using C except for embedded work and some legacy apps I wrote in 2000 to present day. All new stuff is not "C."

Tutorials and such are rather plentiful but I fear outside of embedded work or maybe drivers you may want to head to learn other languages.

Then again, I find folk that can write code but can't design an app.

You can always try udemy. But, be forewarned, you have to pay before you can watch their videos, However; on the upside, the site does have promise if you stick with it..

Or you can try lynda, which is another good site. Sadly, it is also a paid site.

Get a copy of K&R (Kernighan and Ritchie) and read a lot of code. Then, find a mentor you can talk to when you are having problems.

Try this guide

you can follow this

You can easily refresh your knowlege on C language by just going through online.....and this will surely helps you to refresh ur knowledge

You could always go to Rosetta Code. That link will take you to the C page with a list of problems with sample code. You could look at the problem definition (there are a large number of problems), try to code up a solution, then refer to the given solution to compare with your own.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.