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
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
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
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
DevOps shows the IT world that developers and operations have a lot to learn about each other—and that can be highly positive for project...
New
PragmaticBookshelf
Get your Raspberry Pi up and running and doing cool stuff. You’ll start with the basics: adding hardware, installing and configuring Debi...
New
PragmaticBookshelf
Pragmatic programmers use feedback to drive their development and personal processes. The most valuable feedback you can get while coding...
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
Learn to design project lifecycles to create valuable products and a culture of agility. Johanna Rothman @jrothman Do you dread you...
New
PragmaticBookshelf
Discover how to empower teams through self-selection, enhancing productivity and satisfaction in the modern workplace. Sandy Mamoli...
New
PragmaticBookshelf
Lint your docs like code: turn any style guide into enforceable rules with Vale and publish clear, consistent content every time. ...
New

Other popular topics Top

Devtalk
Hello Devtalk World! Please let us know a little about who you are and where you’re from :nerd_face:
New
DevotionGeo
I know that these benchmarks might not be the exact picture of real-world scenario, but still I expect a Rust web framework performing a ...
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
In case anyone else is wondering why Ruby 3 doesn’t show when you do asdf list-all ruby :man_facepalming: do this first: asdf plugin-upd...
New
Exadra37
Oh just spent so much time on this to discover now that RancherOS is in end of life but Rancher is refusing to mark the Github repo as su...
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
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
PragmaticBookshelf
Author Spotlight Jamis Buck @jamis This month, we have the pleasure of spotlighting author Jamis Buck, who has written Mazes for Prog...
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
PragmaticBookshelf
Develop, deploy, and debug BEAM applications using BEAMOps: a new paradigm that focuses on scalability, fault tolerance, and owning each ...
New