C Programming Tutorials

C Programming Tutorials And Articles
  Title / Author Replies
The phenomenon of stuffing excessive data which is beyond the capacity of the allocated memory is known as buffer overflow. In Simple words we can say that for lets say 'n' bytes of memory, if we try to store any number of values which is greater than 'n', then the values beyond the nth value will...
Suppose a system call was blocked due to some reason (like waiting for a read of some data on terminal) and during this time a signal occurs. Do you know what happens in this scenario? In this article we will discuss the impact of signals on system calls. System calls are different from...
Before we start with Non re-entrant Functions, Can you guess the problem with this piece of code : #include<stdio.h> #include<signal.h> #include<unistd.h> #include<stdlib.h> int flag; char *s;
Function pointers are pointers that can hold the address of a particular type of functions. These pointers, once initialized can be used to call the function whose address they are pointing to. Declaring Function Pointer A function pointer can be declared in following way : <return type of...
We will discuss the concept of Macros. A Macro is a name given to a piece of code or to a value. Whenever the macro is used in the code, it is replaced by its value at the very first stage (preprocessing stage) of compilation process. They are defined using '#define' directive. For...
In this article, we will discuss different implementations of sleep functions that had flaws to understand how sleep function evolved. Before discussing the sleep function implementations, lets first understand briefly the following two functions : alarm() function From Linux Man page : ...
In this tutorial we’ll be learning about LOGICAL operators in C , What are they and How they can be used. These are also a fundamental part of C programming Language, and You’ll find them in almost every useful code using conditions. Note : C Generally denotes 1 for True and 0 for False. (While...
Signals are the interrupts. They are a way of providing asynchronous events. For example a user typing ctrl-c on terminal to stop a program. Most of the programs need to handle signals. Every signal has a name like SIGxxx. For example : SIGALRM is the alarm signal that is generated when the timer...
Refer to the recent articles on Understanding File Handling Functions in C & Understanding Advance File Handling Functions in C C communicates with files using a new datatype called a file pointer. This type is defined within stdio.h, and written as FILE *. A file pointer called output_file is...
We all have been using Functions since we stepped into programming. Numerous times we have called a function with some arguments to it. We all know that the basic declaration of a function is : <return-type><function-name>(<comma seperated list of arguments>); For example : int func(int...
Typecasting is simply a mechanism by which we can change the data type of a variable, no matter how it was originally defined. When a variable is typecasted into a different type, the compiler basically treats the variable as of the new data type. Example Lets go for a very simple example : ...
The fork() unix API provides mechanism to spawn a new process from an existing process. This function is called once in a program but it returns twice. Once in parent process and once in its child process(the new spawned process becomes the child process).The return value of this function in child...
Continuing the previous discussion that we did on Unix Threads (Basics) , today we will discuss the concept of 'Thread Synchronization'. Going through a quick recap, we now know that threads are used to make calls to functions non-blocking (asynchronous). One important point that we did not discuss...
At times certain tasks need more time to execute and when multiple such tasks are desired then blocking on a single task is not a good practice. To Understand, Think of a program that provides some service but this service takes time to execute. Now, if you want this service again and again then...
Introduction This article talks about some general tips while using pointers in an Application. Background While working with different kinds of errors, generally detecting an error is easier than fixing it. When it comes to pointer, the error is usually the result of a pointer pointing...
Introduction Mouse has revolutionized the computer world. In GUI mouse is very essential for user interaction. it is a simple input device which allows you to point and execute interface in a random and faster manner than the keyboard which provides sequential interface. Mouse Programming is a...
What is a Compiler A Compiler is a Computer Program that go through the provided source code , Checks for error and converts in into another computer language that a computer can understand (usually binary opcodes). Compilation A compiler's work can be divided into 3 parts. Front End...
In the previous tutorial we talked about functions, What are they, How to declare them etc. Now in this article we’ll be looking at In this tutorial we’ll be looking at a basic sample program, how it works and some basic rules/tips to keep in mind. Simple Program using Functions Function.c...
What is a Function? A Function is a statement or a rule which relates a variable quantity with other variable quantities. The function can often be related to a machine , it has an input and a output , The output is somehow dependent on the input. For more clarity lets take an example of a...
Looping While writing our C programs we might feel a need to execute similar or same set of instructions multiple times , for eg: Printing numbers from 1 to 100 on the screen , This task without the use of looping could be very tedious and make would make the code absolutely not redistributable...