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
Computer security is a complex issue. But you don’t have to be an expert in all the esoteric details to prevent many common attacks. Atta...
New
PragmaticBookshelf
Every team needs a great start. Start projects and teams the right way, with expanded concepts for planning, organizing, and conducting l...
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
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
Why do Roman numerals persist? How do we know that some infinities are larger than others? And how can we know for certain a program will...
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
Whether you’re making the switch from a traditional centralized version control system or are a new programmer just getting started, this...
New
PragmaticBookshelf
Mike Mason edited by Jacquelyn Carter @jkcarter Pragmatic Guide to Subversion gives you a shortcut to the Subversion master’s recommend...
New
New
PragmaticBookshelf
Learn to design project lifecycles to create valuable products and a culture of agility. Johanna Rothman @jrothman Do you dread you...
New

Other popular topics Top

AstonJ
Or looking forward to? :nerd_face:
483 11975 256
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
You might be thinking we should just ask who’s not using VSCode :joy: however there are some new additions in the space that might give V...
New
AstonJ
We have a thread about the keyboards we have, but what about nice keyboards we come across that we want? If you have seen any that look n...
New
PragmaticBookshelf
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
mafinar
Crystal recently reached version 1. I had been following it for awhile but never got to really learn it. Most languages I picked up out o...
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
PragmaticBookshelf
Author Spotlight Rebecca Skinner @RebeccaSkinner Welcome to our latest author spotlight, where we sit down with Rebecca Skinner, auth...
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
A concise guide to MySQL 9 database administration, covering fundamental concepts, techniques, and best practices. Neil Smyth MySQL...
New