Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Understanding and Using C Pointers

    Understanding and Using C Pointers

    Richard M Reese · 2013

    Pointers are more involved than most programmers think and are frequently poorly understood. Comprehending and Using C Pointers will provide beginning and advanced C programmers with a comprehensive coverage of C pointers and illustrate good pointer programming habits, demonstrate the variety of ways they can be used. Comprehending and Using C Pointers will address an area that has been neglected and provide the deep understanding of pointers necessary to create a properly functioning application. Although C is extensively use in industry applications, many aspects of pointers are not covered adequately in a typical C book. This book will use graphical models and comprehensive examples to illustrate key concepts and fundamentals of pointers, address compiler specific pointer techniques, and convey the dynamics of pointers and programming in general.

    Programming
    Open LibraryAmazon
    Stats for nerds
    12recommend
    22mentions
    17people
    2013–2025years
    68% recommend32% neutral

    Mentions per year

    2013201520172019202120232025

    What Hacker News says

    1. wmwraggOct 2025
      The book "Understanding and Using C Pointers: Core Techniques for Memory Management" by Richard M Reese, is a great way to learn pointers
      thread
    2. wmwraggOct 2022
      Despite what many think, I'd say the "The C Programming Language (2nd Edition - ANSI C)" by Brian Kernighan & Dennis Ritchie (K&R) book is still a good introduction to C. It doesn't go into best practices, or other forms of more advanced C programming, but it teaches C well. I'd pair it with "Understanding and Using C Pointers: Core Techniques for Memory Management" by Richard M Reese to get a good understanding of the pointer underpinnings of C. They are both small, well written and easily digestible.
      thread
    3. lioetersApr 2020
      I'm in a similar situation as the parent comment, wanting to re-learn C after more than a decade (or two). Thanks for the link to a recent discussion! For the parent, here are some of the recommended books:

      Head First C - Griffiths and Griffiths

      Expert C Programming: Deep C Secrets - Peter van der Linden

      Modern C - Jens Gustedt

      C Programming: A Modern Approach - K. N. King

      21st Century C: C Tips from the New School - Ben Klemens

      Understanding and Using C Pointers - Richard Reese

      C Interfaces and Implementations: Techniques for Creating Reusable Software - David R. Hanson

      The Standard C Library - P. J. Plauger

      thread
    4. sramsayMar 2020
      It sounds like you're not asking, "How do I learn the language?" but "How do I know I'm doing it right?"

      I think Gustedt's book is superb if you're just trying to learn the language, and it does a good job of presenting the most up-to-date standard. I admire the K&R as much as anyone else, but it's not exactly an up-to-date language resource at this point, and it doesn't really provide any guidance on the design and structure of systems in C (that's not it's purpose).

      You might have a look at Hanson's C Interfaces and Implementations: Techniques for Creating Reusable Software. That's focused on large projects and APIs, but it will give you a good sense of the "cognitive style" of C.

      21st Century C is very opinionated, and it spends a great deal of time talking about tooling, but overall, it's a pretty good orientation to the C ecosystem and more modern idioms and libraries.

      I might also put in a plug for Reese's Understanding and Using C Pointers. That sounds a bit narrow, but it's really a book about how you handle -- and think about -- memory in C, and it can be very eye-opening (even for people with a lot of experience with the language).

      C forces you to think about things that you seldom have to consider with Javascript, Python, or Go. And yes: it's an "unsafe" language that can set your hair on fire. But there are advantages to it as well. It's screaming-fast, the library ecosystem is absolutely gigantic, there are decades of others' wisdom and experience upon which to draw, it shows no signs of going away any time soon, and you'll have very little trouble keeping up with changes in the language.

      It's also a language that you can actually hold in your head at one time, because there's very little sugar going on. It's certainly possible to write extremely obfuscated code, but in practice, I find that I'm only rarely baffled reading someone else's C code. If I am, it's usually because I don't understand the problem domain, not the language.

      thread
    5. gjkoodMar 2020
      To start with, "The C Programming Langauge", Kernighan & Richie (K & R) [1]. Find the latest edition that you can buy.

      I think the primary topic to master in C is pointers. This is where most falter. It takes a few years to "master" (if we ever do). Here I would recommend "Understanding and Using C Pointers", Richard Reese. [2]

      If you are interested in networking, any of the classic "TCP/IP Illustrated Vols I/II/III", W. Richard Stevens, [3] contain a ton of C code to implement components of TCP/IP.

      If you are interested in Graphics, then "Graphics Gems", Andrew Glassner [4] is a good source.

      "An Introduction to GCC", Brian Gough, [5] to understand the tooling and its various bells and whistles.

      My learning swimming by jumping into the deep end of the pool experience was realized by learning Windows Programming using the Charles Petzold book and navigating through Microsoft Foundation Classes in the late 80s/early 90s. The state of the art in tooling wasn't that great in those days and I spent months with the book to get things going. This was done after I had built a foundation with K&R and a decent amount of Unix network programming.

      I see a lot of the other posts recommend more modern books. But you still need to build your foundation on C and Pointers in particular.

      Good luck on your journey.

      [1] https://www.amazon.com/Programming-Language-2nd-Brian-Kernig...

      [2] https://www.amazon.com/Understanding-Using-Pointers-Techniqu...

      [3] https://www.amazon.com/TCP-Illustrated-Protocols-Addison-Wes...

      [4] https://www.amazon.com/Graphics-Gems-Andrew-S-Glassner/dp/01...

      [5] https://www.amazon.com/Introduction-GCC-GNU-Compilers/dp/095...

      thread
    6. wmwraggMar 2020
      I've recommended this on here before, but I’ve found "Understanding and Using C Pointers" by Richard Reese, a really wonderful modern book on C.
      thread

    Related

    Cover of Programming in C
    2010–2016

    Programming in C

    Stephen G. Kochan
    7 recommend · 9
    Cover of Pointers on C
    2009–2026

    Pointers on C

    Kenneth A. Reek
    8 recommend · 10
    Cover of 21st Century C
    2012–2024

    21st Century C

    Ben Klemens
    42 recommend · 71
    Cover of C interfaces and implementations
    2008–2026

    C interfaces and implementations

    David R. Hanson
    46 recommend · 114
    Cover of Expert C programming!
    2008–2026

    Expert C programming!

    Peter Van der Linden
    88 recommend · 150
    Cover of The Standard C Library
    2009–2026

    The Standard C Library

    P. J. Plauger
    17 recommend · 29
    Cover of The C Programming Language
    2007–2026

    The C Programming Language

    Brian W. Kernighan
    recommend · 604
    246
    Cover of Introduction to 80x86 assembly language and computer architecture
    2008–2020

    Introduction to 80x86 assembly language and computer architecture

    Richard C. Detmer
    2 recommend · 2