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
Successful technical blogging is not easy but it’s also not magic. Use these techniques to attract and keep an audience of loyal, regular...
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
If you have trouble estimating cost or schedule for your projects, you are not alone. The question is this: who wants the estimate and wh...
New
PragmaticBookshelf
Agile in a Flash cards teach leadership, teamwork, clean programming, agile approaches to problem solving, and tips for coaching agile te...
New
PragmaticBookshelf
Get up to speed on Git right now with Pragmatic Guide to Git. Here you’ll find the 95 percent of Git that you’ll use at least once a week...
New
PragmaticBookshelf
Knowing how to create domain-specific languages (DSLs) can give you a huge productivity boost. Instead of writing code in a general-purpo...
New
PragmaticBookshelf
As a techie, you have a tougher time finding and winning the right job. Companies are more demanding. Just like you, your competition is ...
New
PragmaticBookshelf
ANTLR is a parser generator: a program that generates code to translate a specified input language into a nice, tidy data structure. You ...
New
PragmaticBookshelf
Lead and serve others with ease when you learn to manage yourself and become a modern manager. Johanna Rothman @jrothman This work ...
New
PragmaticBookshelf
Use your unique expertise to create content marketing that attracts clients to you. Johanna Rothman @jrothman Ready to become an in...
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’...
1051 21715 396
New
PragmaticBookshelf
Brace yourself for a fun challenge: build a photorealistic 3D renderer from scratch! In just a couple of weeks, build a ray tracer that r...
New
PragmaticBookshelf
Free and open source software is the default choice for the technologies that run our world, and it’s built and maintained by people like...
New
New
foxtrottwist
A few weeks ago I started using Warp a terminal written in rust. Though in it’s current state of development there are a few caveats (tab...
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
If you want a quick and easy way to block any website on your Mac using Little Snitch simply… File > New Rule: And select Deny, O...
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
New
New