You may be wondering why we have introduced a section on C. A question that I am often asked by budding programmers is - after the advent of object oriented programming languages such as JAVA, PHP and C++, do we really need to learn C anymore?
The answer is YES.
Before you begin learning object oriented programming (OOP), you must understand fundamentally how programs are structured. The most structured programming language till date is C and hence, C is a natural choice to begin taking your initial steps towards programming. If you aim to become a master programmer, you must first master C and then move to learning an object oriented language. It will become easier to understand the concepts of OOP once you have mastered C.
Network programming in C goes beyond simply sending and receiving data. To build truly robust, efficient, and reliable applications, you need to master advanced socket options and sophisticated error handling. This concluding article of our Socket Programming in C series delves into functions to fine-tune socket behavior, and provides comprehensive strategies for handling the myriad of errors that can occur in network communications, equipping you to write production-ready code.
Last Updated: 19 Jun'25
Ever wondered what magic happens behind the scenes when you send a message or browse a website? It is not magic, it is socket programming! Dive into the very first byte of network communication and discover the fundamental concepts that power the internet. This article will unravel the mystery, showing you why understanding sockets in C is a superpower for anyone keen on building robust, high-performance network applications from scratch.
Last Updated: 18 Jun'25
Ready to make your computers truly "talk"? This article is your ultimate guide to writing your very first networked C programs! We will peel back the layers of the Socket API, demystify functions like socket()
and connect()
, and guide you step-by-step through building a working TCP echo client and server from scratch. Discover the core C constructs that power real-time communication and unlock the secrets to cross-platform compatibility — You will be amazed at what you can build!
Last Updated: 18 Jun'25
Tired of your programs just echoing back? Level up your network skills! In this article, you will go beyond basic "Hello World" and build your very own interactive chat application in C from scratch. Learn how to maintain continuous conversations, handle user input seamlessly, and ensure your client and server can talk back and forth without interruption. This is where your journey into real-time networked apps truly begins!
Last Updated: 18 Jun'25
Think all network communication needs a handshake? Think again! This article will blow your mind as we dive into UDP, the "fast and furious" protocol that powers everything from online gaming to DNS. You will build a real-world UDP-based time synchronization server and client in C, finally understanding why speed sometimes trumps guaranteed delivery, and how to harness this powerful, yet often misunderstood, side of network programming!
Last Updated: 18 Jun'25
Your single-client server is lonely! In the real world, applications need to handle hundreds or even thousands of users at once. This article unlocks the secret to building scalable C servers that can manage multiple client connections simultaneously. Discover the power of I/O multiplexing with select()
, learn how to build a multi-client chat server that broadcasts messages to everyone, and transform your socket programs from single-user tools into bustling network hubs!
Last Updated: 18 Jun'25
Ever tried compiling a socket program only to be met with baffling errors, despite having an ANSI C compiler? You are not alone! While your basic C compiler is perfect for simple tasks, network programming requires a deeper dive into how C interacts with your operating system. This article uncovers why standard ANSI C doesn't include networking functions and explains why a robust compiler like GCC is the essential tool you need to build powerful, connected applications. Get ready to bridge the gap between your C code and the intricate world of system-level networking!
Last Updated: 18 Jun'25
This series will guide you through the exciting world of network programming using the C language. You will go from understanding fundamental concepts to building your own network applications, with practical, hands-on projects that bridge the gap between theory and real-world use.
Last Updated: 18 Jun'25
Imagine running your very own website from a program You wrote in C! This is the ultimate synthesis of your socket programming journey. In this grand finale, we will build a fully functional HTTP web server from scratch. You will apply everything you have learned about TCP, concurrent connections, and robust error handling to serve static HTML pages, parse real web requests, and understand the core of how the internet truly works. Get ready to launch your first web server – pure C power!
Last Updated: 18 Jun'25
Ready to dive into C programming on your Windows PC? This comprehensive guide will walk you through setting up your ideal development environment, whether you prefer a lean, customizable setup with MinGW-w64 and Visual Studio Code, or a feature-packed, all-in-one experience with Microsoft Visual Studio Community. We will cover everything from compiler installation to writing and running your first C program, ensuring You are fully equipped to build robust applications.
Last Updated: 18 Jun'25
C programming remains a powerhouse in the tech world, driving the core of operating systems, powering embedded systems in IoT devices, and enabling performance-critical applications in gaming and high-performance computing. For aspiring programmers, mastering C is not just about learning a language — it is about unlocking a deep understanding of computer science fundamentals and gaining access to specialized career paths in systems programming and beyond. Find out why C remains highly relevant in 2025 and why every aspiring programmer must learn C.
Last Updated: 22 Apr'25
A lot of youngsters who come to me for career advice ask me if learning C is still relevant today and whether it can help fetch a job in the IT Industry. My answer to them is an obvious YES. Read this article to understand why.
Last Updated: 17 Oct'22
In this article you will understand what is meant by low level programming in C; learn how to declare and use register variables; learn to identify bitwise operations supported in C and use them in a program.
Last Updated: 06 May'17
Structure based I/O functions - fread, fwrite
Last Updated: 06 Feb'16
Various Read-Write functions available in C for reading and writing on to files. Understanding character I/O functions - fgetc, fputc
Last Updated: 16 Jan'16
This is the first article of the series of articles on file handling in C. In this article you will get an overview of how files are handled in C and understand the basic concept involved.
Last Updated: 07 Jan'16
In this article we will learn how to build a singly linked list while maintaining the data in a sorted order.
Last Updated: 01 Jun'14
In this article you will learn how to define self referential data structure. You will learn how to create and manipulate a linear linked list using the concept of self-referential data structure.
Last Updated: 31 May'14
In this article on C structures, you will learn how to pass structure as parameter to a function.
Last Updated: 01 May'14
In this article you will learn how to define union data types and use unions in a C program.
Last Updated: 26 Apr'14
In this article on structures, you will learn how to define pointer to a structure and access structure elements using pointer.
Last Updated: 25 Apr'14
In this article you will learn how to represent composite data using structures; how to declare a structure variable and access its members; how to read, display, and manipulate structure data; and how to deal with array of structures.
Last Updated: 23 Apr'14
Usage of pointers to pass a function as parameter to another function.
Last Updated: 04 Apr'14
Using command line arguments in C. Learn how to pass parameters to function main().
Last Updated: 02 Apr'14
Pointer to a function. Learn how to implement call by reference scheme of parameter transfer using pointers.
Last Updated: 28 Mar'14
Pointer to two dimensional Arrays. Learn to create and manipulate two dimensional arrays using pointers.
Last Updated: 26 Mar'14
Pointer to a one dimensional character string. Learn how to handle character strings using pointers.
Last Updated: 25 Mar'14
Dynamic memory allocation and de-allocation using malloc & free functions. Usage of pointers to create and manipulate arrays.
Last Updated: 24 Mar'14
Basic introduction to pointers in C. Understand how to declare and use a pointer variable and what are the basic arithmetic operations you can perform with pointers.
Last Updated: 23 Mar'14
Learn how to define and work with multi-dimensional arrays in C. Learn how to represent a list of strings as a 2-dimensional character array. Also understand how multi-dimensional arrays are passed to a function.
Last Updated: 14 Mar'14
In this series of 2 articles on arrays we will learn how to declare arrays and define their storage representation. Topics covered include - how to read data into an array, how to manipulate & print array elements, how to implement array representation of character strings, how to sort data stored in one dimensional arrays, how to handle multidimensional arrays, and how to pass array as parameter to function.
Last Updated: 09 Mar'14
In this article we will understand how to create your own data types in C. We will also learn about enumerated and boolean data types.
Last Updated: 07 Mar'14
In this last article in the 5 article series on functions, we will learn how to pass parameters from the calling to the called function. We will learn how to establish the correspondence among formal and actual parameters, and also understand classification of call by value and call by reference schemes for parameter transfer.
Last Updated: 05 Mar'14
This fourth article on functions explains the concept of scope of variables in C. Learn how and where to declare local and global variables. Learn about C storage class.
Last Updated: 04 Mar'14
This third series of five articles, covers - what are recursive functions and how to implement recurrence relations in C. It also takes a look at the merits and demerits of a recursive function call.
Last Updated: 01 Mar'14
In this article we will understand the concept of sequencing of function calls in C, by demonstrating a simple implementation scheme for sub-program sequence control.
Last Updated: 28 Feb'14
Topics covered � Introduction to functions in C, understand how functions are defined in C, their broad constructs and invocation of a function from another function. Also understand function parameters and how to differentiate between formal and actual parameters of a function.
Last Updated: 27 Feb'14
In this post you will understand how C handles repetitive statements and what are the various constructs available for loop control. We will deal with while, do-while and for loops. We will also take a look at how to implement nested loops.
Last Updated: 26 Feb'14
A program cannot always be a sequential set of statements consisting of only assignment and input-output statements. While developing programs to solve any problem, it is often necessary to carry out a logical test and depending upon the outcome, a separate course of action is taken. Like most programming languages, C supports such conditional execution with the help of if..else and switch..case statements.
Last Updated: 21 Feb'14
How a C program handles input-output of data? Learn how to read user inputs provided at the standard input device, and how to send data output to the standard output device.
Last Updated: 16 Feb'14
In this article we will understand the necessity of preprocessor directives in C. We will discuss how to use #define and #include directives.
Last Updated: 11 Feb'14
Learn about the various operators used in the C programming language and how to use them in your C programs. Topics covered arithmetic operators, assignment operator, increment/decrement operators, conditional operators, relational & logical operators, type conversion and operator precedence.
Last Updated: 10 Feb'14
In this article you will learn about - the character set used in C language, keywords/reserved words in C, and the rules for naming identifiers. We will also look at the basic data types and how data objects are declared. We will also be looking at constants in C, and how they are specified.
Last Updated: 07 Feb'14
Download the ANSI C Compiler from here to test all the codes which are provided in this section.
Last Updated: 06 Feb'14
An introduction to the C programming language and its history.
Last Updated: 05 Feb'14
How to move your Email accounts from one hosting provider to another without losing any mails?
How to resolve the issue of receiving same email message multiple times when using Outlook?
Self Referential Data Structure in C - create a singly linked list
Mosquito Demystified - interesting facts about mosquitoes
Elements of the C Language - Identifiers, Keywords, Data types and Data objects
How to pass Structure as a parameter to a function in C?