CommunityNews

CommunityNews

Beej’s Guide to C Programming (pdf)

Foreword

No point in wasting words here, folks, let’s jump straight into the C code:

    E((ck?main((z?(stat(M,&t)?P+=a+'{'?0:3:
    execv(M,k),a=G,i=P,y=G&255,
    sprintf(Q,y/'@'-3?A(*L(V(%d+%d)+%d,0)

And they lived happily ever after. The End.

What’s this? You say something’s still not clear about this whole C programming language thing?

Well, to be quite honest, I’m not even sure what the above code does. It’s a snippet from one of the entries in the 2001 International Obfuscated C Code Contest1, a wonderful competition wherein the entrants attempt to write the most unreadable C code possible, with often surprising results.

The bad news is that if you’re a beginner in this whole thing, all C code you see probably looks obfuscated! The good news is, it’s not going to be that way for long.

What we’ll try to do over the course of this guide is lead you from complete and utter sheer lost confusion on to the sort of enlightened bliss that can only be obtained though pure C programming. Right on…

Read in full here:

This thread was posted by one of our members via one of our news source trackers.

Most Liked

mafinar

mafinar

Ah, Beej’s guide. Brings back fond memories when I was struggling to learn network programming.

Where Next?

Popular General Dev topics Top

PragmaticBookshelf
Andy and Dave wrote this influential, classic book to help their clients create better software and rediscover the joy of coding. Almost ...
New
PragmaticBookshelf
A single dramatic software failure can cost a company millions of dollars—but can be avoided with simple changes to design and architectu...
New
PragmaticBookshelf
Discover how New Zealand’s biggest e-commerce company completely restructured their business through Self-Selection. In the process, find...
New
PragmaticBookshelf
By adopting nine key technical practices, you’ll learn to say what, why, and for whom before how; build in small batches; integrate conti...
New
PragmaticBookshelf
Fire in the Valley is the definitive history of the personal computer, drawn from interviews with the people who made it happen, written ...
New
PragmaticBookshelf
Programming at industry level requires new skills—you’ll build programs that dwarf anything you’ve done on your own. This book introduces...
New
PragmaticBookshelf
Debug It! will equip you with the tools, techniques, and approaches to help you tackle any bug with confidence. These secrets of professi...
New
PragmaticBookshelf
Many books and articles have been written describing agile, adaptable approaches to writing software. But somehow, reading about software...
New
PragmaticBookshelf
In the beginning was the chip . . . _Charged Bodies_ chronicles the rise of Silicon Valley via the voices of those who shaped it and thos...
New
PragmaticBookshelf
Small changes to your habits can improve your health—without getting in the way of your work. Joe Kutner @jkutner edited by Brian P...
New

Other popular topics Top

Devtalk
Reading something? Working on something? Planning something? Changing jobs even!? If you’re up for sharing, please let us know what you’...
1052 22283 402
New
PragmaticBookshelf
Design and develop sophisticated 2D games that are as much fun to make as they are to play. From particle effects and pathfinding to soci...
New
brentjanderson
Bought the Moonlander mechanical keyboard. Cherry Brown MX switches. Arms and wrists have been hurting enough that it’s time I did someth...
New
AstonJ
I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me. I think the Planck and the Preonic (o...
New
New
First poster: bot
zig/http.zig at 7cf2cbb33ef34c1d211135f56d30fe23b6cacd42 · ziglang/zig. General-purpose programming language and toolchain for maintaini...
New
First poster: AstonJ
Jan | Rethink the Computer. Jan turns your computer into an AI machine by running LLMs locally on your computer. It’s a privacy-focus, l...
New
PragmaticBookshelf
Explore the power of Ash Framework by modeling and building the domain for a real-world web application. Rebecca Le @sevenseacat and ...
New
NewsBot
Node.js v22.14.0 has been released. Link: Release 2025-02-11, Version 22.14.0 'Jod' (LTS), @aduh95 · nodejs/node · GitHub
New
brainlid
Episode 300 of Thinking Elixir. It’s Episode 300 — a milestone just under 6 years in the making! To celebrate, we kick things off with a ...
New