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

New
PragmaticBookshelf
No matter what language or platform you’re using, the CLI will help you work more effectively. Turn tedious chores into quick tasks: read...
New
PragmaticBookshelf
Mob Programming is a natural extension of the popular Pair Programming concept and is not restricted to a specific programming language o...
New
PragmaticBookshelf
Express your customers’ wild ideas as a set of clear, executable specifications that everyone on the team can read. Feed those examples i...
New
PragmaticBookshelf
Design applications and websites that people will not only use, but will absolutely love. This second edition brings the book up to date ...
New
PragmaticBookshelf
This book will show you how to exploit different parallel architectures to improve your code’s performance, scalability, and resilience. ...
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
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
Project retrospectives help teams examine what went right and what went wrong on a project. But traditionally, retrospectives (also known...
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

Other popular topics Top

siddhant3030
I’m thinking of buying a monitor that I can rotate to use as a vertical monitor? Also, I want to know if someone is using it for program...
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
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
I ended up cancelling my Moonlander order as I think it’s just going to be a bit too bulky for me. I think the Planck and the Preonic (o...
New
PragmaticBookshelf
Tailwind CSS is an exciting new CSS framework that allows you to design your site by composing simple utility classes to create complex e...
New
Margaret
Hello everyone! This thread is to tell you about what authors from The Pragmatic Bookshelf are writing on Medium.
1147 29994 760
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
Help
I am trying to crate a game for the Nintendo switch, I wanted to use Java as I am comfortable with that programming language. Can you use...
New
New
PragmaticBookshelf
Use advanced functional programming principles, practical Domain-Driven Design techniques, and production-ready Elixir code to build scal...
New