general-purpose programming language
C is a general-purpose programming language created in the 1970s by Dennis Ritchie. By design, C gives the programmer relatively direct access to the features of the typical CPU architecture, customized for … Wikipedia
Factsheet
Designed by Dennis Ritchie
Developer ANSI X3J11 (ANSI C); ISO/IEC JTC 1 (Joint Technical Committee 1) / SC 22 (Subcommittee 22) / WG 14 (Working Group 14) (ISO C)
Factsheet
Designed by Dennis Ritchie
Developer ANSI X3J11 (ANSI C); ISO/IEC JTC 1 (Joint Technical Committee 1) / SC 22 (Subcommittee 22) / WG 14 (Working Group 14) (ISO C)
🌐
Wikipedia
en.wikipedia.org β€Ί wiki β€Ί C_(programming_language)
C (programming language) - Wikipedia
November 10, 2001 - C is a general-purpose programming language created in the 1970s by Dennis Ritchie. By design, C gives the programmer relatively direct access to the features of the typical CPU architecture, customized for the target instruction set. It has been and continues to be used to implement operating ...
🌐
W3Schools
w3schools.com β€Ί c β€Ί c_intro.php
Introduction to C
For curious learners: C has different language standards (like C90, C99, C11, C17, and newer versions). This tutorial focuses on modern, widely supported C, and we point out important differences when it matters. It is one of the most widely used programming languages
Discussions

The C Programming Language: Some Initial Thoughts - General Discussion - It's FOSS Community
Hey everyone! Recently, I decided to learn to use the C programming language. I had a few reasons for doing so: A lot of very good programmers say that learning C will help you be a better programmer While it is not used as much as it once was, it is still a very significant language, especially ... More on itsfoss.community
🌐 itsfoss.community
1
April 5, 2024
Is learning C worth it?
On July 1st, a change to Reddit's API pricing will come into effect. Several developers of commercial third-party apps have announced that this change will compel them to shut down their apps. At least one accessibility-focused non-commercial third party app will continue to be available free of charge. If you want to express your strong disagreement with the API pricing change or with Reddit's response to the backlash, you may want to consider the following options: Limiting your involvement with Reddit, or Temporarily refraining from using Reddit Cancelling your subscription of Reddit Premium as a way to voice your protest. I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns. More on reddit.com
🌐 r/learnprogramming
151
140
November 29, 2023
I’m struggling with programming in C
Haha you do not understand them. You can read the code and see what it does, but it's obvious you don't really get it. The way you are talking is you can read Shakespeare but you are confused you can't write something as good as Hamlet. You need to code more and really dive into output. Make errors and the. Understand why they happened. More on reddit.com
🌐 r/cprogramming
32
26
October 30, 2024
[unpopular opinion] C is the best entry level programming language
I'd partly agree. Knowing c gives you a better understanding of what's going on under the surface and as such knowing it will help your programming in other higher level languages. But it is also a very steep learning curve, learning memory management and underlying data structures at the same as trying to get the hang of higher level concepts like how to structure your data and code can put people off. The aim isn't to make people quit in frustration. So yes on learning c. But maybe as a second language not as the first unless you have masochistic tendancies. More on reddit.com
🌐 r/learnprogramming
184
940
February 21, 2022
🌐
Reddit
reddit.com β€Ί r/c_programming β€Ί where and how to learn c?
r/C_Programming on Reddit: Where and how to learn C?
February 12, 2023 -

What resources did you use to learn C ? As a beginner to C, I'm finding it really difficult to pick up the language from just reading about the syntax rules. Are there any good resources / books / youtube videos to not only learn the syntax, but also the more advanced concepts (pointers, scope, etc)?

Edit: I know learning how to code takes time, but I'd prefer resources that wouldn't be so time consuming. More of a resource that I could approach when I'm stuck on a single topic

Top answer
1 of 23
288
I've posted this here before and it's what has worked for me an a few others who told me it worked for them as well. Ymmv. People sometimes struggle with C when they start from scratch or come from a higher to lower level of abstraction. I struggled with this for a long time till I did these things: I would not try and understand how the higher level abstractions translate to the lower C level. I would instead learn from first principles on how a computer works and build the abstractions up from there. You will learn how a CPU works. How the data bus and registers are used. How memory is laid out and accessed. The call stack and how that works, etc.. This will go a long way in understanding how C sits on top of this and how it's data structures like arrays and structs map to this and understanding how pointers work the way they do and why. Check out these resources: Read Code: The Hidden Language of Computer Hardware and Software Watch Exploring How Computers Work Watch all 41 videos of A Crash Course in Computer Science Take the Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course) Take the CS50: Introduction to Computer Science course. Grab a copy of C programming: A Modern Approach and use it as your main course on C. Follow this Tutorial On Pointers And Arrays In C The first four really help by approaching C from a lower level of abstraction (actually the absolute lowest level and gradually adding layers of abstraction until you are at the C level which, by then is incredibly high!) You can do all four or pick one or two and dive deep. The 5th is a great introduction to computer science with a decent amount of C programming. The sixth is just the best tutorial on C. By far. The seventh is a deep dive into pointers and one of best tutorial on pointers and arrays out there (caveat, it's a little loose with the l-value/r-value definition for simplicity sake I believe.) https://github.com/practical-tutorials/project-based-learning#cc Play the long game when learning to code. You can also check out Teach Yourself Computer Science Here is a decent list of 8 Books on Algorithms and Data Structures For All Levels
2 of 23
16
Run through basic syntax for free on learn-c.org. Start solving real problems quickly with https://www.codestepbystep.com/problem/list/c If you are not adverse to learning from books, get The C Programming Language 2nd Edition, it gives you little examples and tasks to explore in every chapter. Whenever you do anything to learn, never copy-paste. Always type the code in your own editor. This helps you build knowledge of syntax and constructs.
🌐
GeeksforGeeks
geeksforgeeks.org β€Ί c language β€Ί c-programming-language
C Programming Tutorial - GeeksforGeeks
C is a general-purpose mid-level programming language developed by Dennis M. Ritchie at Bell Laboratories in 1972.
Published Β  2 weeks ago
🌐
Programiz
programiz.com β€Ί c-programming β€Ί online-compiler
Online C Compiler - Programiz
Write and run your C programming code using our online compiler. Enjoy additional features like code sharing, dark mode, and support for multiple languages.
🌐
Cprogramming.com
cprogramming.com
Learn C and C++ Programming - Cprogramming.com
How to begin Get the book Β· C tutorial C++ tutorial Game programming Graphics programming Algorithms More tutorials
Find elsewhere
🌐
Programiz
programiz.com β€Ί c-programming
Learn C Programming
C is one of the foundational programming languages used in the development of compilers, operating systems, and embedded systems where speed and efficiency matter.
🌐
HowStuffWorks
computer.howstuffworks.com β€Ί tech β€Ί computer software β€Ί programming
The Basics of C Programming | HowStuffWorks
March 8, 2023 - The C programming language is a popular and widely used programming language for creating computer programs.
🌐
C Language
c-language.org
C language
C is a general-purpose high-level programming language suitable for low-level programming, in other words: a system programming language.
🌐
Coursera
coursera.org β€Ί coursera articles β€Ί computer science and engineering β€Ί software development β€Ί c programming: the basics you need to know
C Programming: The Basics You Need to Know | Coursera
1 month ago - C offers low-level features to interact with hardware and memory directly. Pointers in C allow you to work with memory and build more complex functions. These features let you program without knowing how much memory you need. C language can loop a function many times until it reaches the given conditions.
🌐
Amazon
amazon.com β€Ί Programming-Language-2nd-Brian-Kernighan β€Ί dp β€Ί 0131103628
Amazon.com: C Programming Language, 2nd Edition: 9780131103627: Brian W. Kernighan, Dennis M. Ritchie: Books
This second editon describes C as defined by the ANSI standard. This book is meant to help the reader learn how to program in C. The book assumes some familiarity with basic programming concepts like variables, assignment statements, loops, and functions.
🌐
Codecademy
codecademy.com β€Ί catalog β€Ί language β€Ί c
C Courses & Tutorials | Codecademy
C has been around for quite some time and it is one of the foundational languages of computer science. Most operating systems today, including the Linux Kernel, are implemented with C code. The main version of the Python programming language is named CPython because it is implemented using C.
🌐
University of Utah
users.cs.utah.edu β€Ί ~germain β€Ί PPS β€Ί Topics β€Ί C_Language β€Ί the_C_language.html
The C Programming Language
C is one of the most powerful "modern" programming language, in that it allows direct access to memory and many "low level" computer operations. C source code is compiled into stand-a-lone executable programs.
🌐
The Knowledge Academy
theknowledgeacademy.com β€Ί blog β€Ί what-is-c-programming
What is C Programming? Features and Applications
January 1, 2009 - C Programming is a high-level, multi-purpose programming language that excels in developing firmware and portable applications. Developed by Dennis Ritchie in the early 1970s, C offers low-level access to memory and a straightforward set of keywords.
🌐
Vardhaman
vardhaman.org β€Ί wp-content β€Ί uploads β€Ί 2021 β€Ί 03 β€Ί CP.pdf pdf
C PROGRAMMING Page 1 VARDHAMAN COLLEGE OF ENGINEERING (AUTONOMOUS)
Compiler also detects errors in source Β· program. If compiling is successful source program is converted into object program.
🌐
Wikibooks
en.wikibooks.org β€Ί wiki β€Ί C_Programming
C Programming - Wikibooks, open books for an open world
August 11, 2003 - A comprehensive look at the C programming language and its features.
🌐
Quora
quora.com β€Ί What-is-programing-C
What is programing 'C'? - Quora
Answer (1 of 4): The first thing is, the question needs to be modified. What I understood from this is, you want answer to this questions… What is programming in β€œC”? OR What is β€œC” programming? (Your question might also be: What is β€œC” Programming language?) First of all β€œC” ...
🌐
freeCodeCamp
freecodecamp.org β€Ί news β€Ί the-c-beginners-handbook
The C Beginner's Handbook: Learn C Programming Language basics in just a few hours
March 9, 2020 - C is a very small language at its core, and anything that's not part of the core is provided by libraries. Some of those libraries are built by normal programmers, and made available for others to use. Some other libraries are built into the compiler.
🌐
It's FOSS Community
itsfoss.community β€Ί general discussion
The C Programming Language: Some Initial Thoughts - General Discussion - It's FOSS Community
April 5, 2024 - Hey everyone! Recently, I decided to learn to use the C programming language. I had a few reasons for doing so: A lot of very good programmers say that learning C will help you be a better programmer While it is not used as much as it once was, it is still a very significant language, especially used in things that touch hardware like drivers and kernels.
🌐
NxtWave
ccbp.in β€Ί blog β€Ί articles β€Ί introduction-to-c-programming
Introduction to C Programming: Basics, Structure & Examples
Further Developments: Over the years, C has evolved through several standards (C99, C11, C17, C23), introducing features such as inline functions, variable-length arrays, complex types, and improved support for modern computing needs. Procedural Programming Language: C established itself as a procedural language, emphasizing structured programming and control flow, which improved code clarity and maintainability.