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
Does your Rails code suffer from bloat, brittleness, or inaccuracy? Cure these problems with the regular application of test-driven devel...
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
An “out-of-the-box” agile approach won’t work for your unique situation. Instead, unite agile and lean principles to design a custom appr...
New
PragmaticBookshelf
Vim is a fast and efficient text editor that will make you a faster and more efficient developer. In more than 120 Vim tips, you’ll quick...
New
PragmaticBookshelf
JavaScript has moved from being the language you love to hate to the language you need to use. And as JavaScript applications get more co...
New
PragmaticBookshelf
Finding cool languages, tools, or development techniques is easy—new ones are popping up every day. Convincing co-workers to adopt them i...
New
PragmaticBookshelf
Go beyond mere project management and improve teamwork, communication, and predictability in open source development. Make meetings and s...
New
PragmaticBookshelf
Learn to design project lifecycles to create valuable products and a culture of agility. Johanna Rothman @jrothman Do you dread you...
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
Learn to recognize, analyze, and fix the causes of stress in your teams, reducing burnout and increasing both happiness and productivity....
New

Other popular topics Top

Exadra37
I am thinking in building or buy a desktop computer for programing, both professionally and on my free time, and my choice of OS is Linux...
New
dasdom
No chair. I have a standing desk. This post was split into a dedicated thread from our thread about chairs :slight_smile:
New
AstonJ
There’s a whole world of custom keycaps out there that I didn’t know existed! Check out all of our Keycaps threads here: https://forum....
New
mafinar
This is going to be a long an frequently posted thread. While talking to a friend of mine who has taken data structure and algorithm cou...
New
AstonJ
If you get Can't find emacs in your PATH when trying to install Doom Emacs on your Mac you… just… need to install Emacs first! :lol: bre...
New
AstonJ
Was just curious to see if any were around, found this one: I got 51/100: Not sure if it was meant to buy I am sure at times the b...
New
PragmaticBookshelf
Author Spotlight Rebecca Skinner @RebeccaSkinner Welcome to our latest author spotlight, where we sit down with Rebecca Skinner, auth...
New
hilfordjames
There appears to have been an update that has changed the terminology for what has previously been known as the Taskbar Overflow - this h...
New
AstonJ
If you’re getting errors like this: psql: error: connection to server on socket “/tmp/.s.PGSQL.5432” failed: No such file or directory ...
New
AstonJ
This is cool! DEEPSEEK-V3 ON M4 MAC: BLAZING FAST INFERENCE ON APPLE SILICON We just witnessed something incredible: the largest open-s...
New