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
Going from engineer to manager doesn’t have to be intimidating. Engineers can be managers, and fantastic ones at that. Cast aside the rhe...
New
PragmaticBookshelf
Harness the promise of the cloud with Fugue, an operating system built for the cloud. If you’re a software engineer, architect, DevOps pr...
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
Two heads are better than one, but only if they’re working on the same problem. When pairing remotely, this requires a specialized enviro...
New
PragmaticBookshelf
Get ready to kick some software project butt. By learning the ways of the agile samurai you will discover: how to create plans and sched...
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
Few of the ideas presented here are controversial or extreme; most experienced programmers will agree that this stuff works. Yet 50 to 70...
New
PragmaticBookshelf
Become a great manager by leading and serving others. Johanna Rothman @jrothman This work was written and produced entirely by the ...
New
PragmaticBookshelf
Want to create a culture of innovation? Work as management teams and encourage learning and experimentation. Johanna Rothman @jroth...
New
New

Other popular topics Top

AstonJ
What chair do you have while working… and why? Is there a ‘best’ type of chair or working position for developers?
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
AstonJ
poll poll Be sure to check out @Dusty’s article posted here: An Introduction to Alternative Keyboard Layouts It’s one of the best write-...
New
AstonJ
If you are experiencing Rails console using 100% CPU on your dev machine, then updating your development and test gems might fix the issu...
New
PragmaticBookshelf
Use WebRTC to build web applications that stream media and data in real time directly from one user to another, all in the browser. ...
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
Programming Ruby is the most complete book on Ruby, covering both the language itself and the standard library as well as commonly used t...
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
PragmaticBookshelf
A concise guide to MySQL 9 database administration, covering fundamental concepts, techniques, and best practices. Neil Smyth MySQL...
New
mindriot
Ok, well here are some thoughts and opinions on some of the ergonomic keyboards I have, I guess like mini review of each that I use enoug...
New