C Tutorial

C Tutorial C Language Environment Setup Execution flow of C program C printf and Scanf C Data type C Token Variable in C Operators in C Comments in C Escape Sequence in C C – Storage Classes C Decision control statement Loop Statement in C Break, continue and goto statement in C Type Casting in C Function in C Recursion in C String in C C Array Pointer in C Dynamic memory allocation C –Structure Nested Structure in C Union in C File Handling in C C pre-processor Static Function In C Sizeof In C Selection Sort In C Scope Of Variables In C Runtime Vs Compile Time In C Random Access Lseek In C Queue Implementation In C Pseudo Code In C Prototype In C Pointer To Pointer In C Pointer Arithmetic In C Passing Array To Function In C Null Character In C Merge Sort In C Macros In C Library Functions In C Memory Leak In C Int In C Goto And Labels In C Fibonacci Series In C Fflush In C Derived Data Types In C Data Types In C Const Vs Volatile In C Character Set In C Character Class Tests In C Calloc In C C Pointers Arrays In C Include In C Clrscr In C C Vs Java String Literals In C Types Of Pointers In C Variables In C Volatile In C Why C Is A Middle Level Language Infix To Postfix Program In C Ceil function in C LCM of two numbers in C Quick sort in C Static in C function pointer as argument in C Top Array Keywords in C Add two numbers using the function in C Armstrong program in C using function Array, Declaring Arrays and Array Initialization Limitations of Inline Function in C Merge and Merge sort with example in C Do-While Loop in C For Loop in C While-Loop in C Difference between while and do-while loop in C Array Of Structures in C Data Structures And Algorithms in C Types Of Structures In C How to Avoid Structure Padding in C Use of Structure in C Do WHILE LOOP in C Programming Examples For Loop in C Programming Examples Entry Control Loop in C Exit control loop in C Infinite loop in C Nested loop in C pow() function in C String Handling functions in C Prime Number code in C Factorial Program in C using For Loop Factorial Program in C Using While Loop Fibonacci Series in C Using For Loop Fibonacci series in C using while loop Prime Number Program in C using for Loop While Loop in C programming examples Built-in functions in C Assert() Function C vs Java Strings Call Back Function in Embedded C Else If Ladder fgets() function Ftell() Function getc() function getch() function gets() function Heap Sort Nested if-else statement Pi() Function Positioning of file Write() function abs() function in C Attributes in C C program to find factorial of a number using Recursion Ferror() in c fopen() function in C Fibonacci series program in C using Recursion Formatted Input and output function in C Snake Game in C User Defined Functions in C Beep() function in C Cbrt() function in C Hook() function in C Isalnum() function in C C Program to find the Roots of a Quadratic Equation C Switch Statements Difference between rand() and srand() function in C Difference between while and for loop in C Doubly Linked list in C Example of Iteration in C How to use atoi() function in C How to use floor() function in C How to use sine() function in C How to use Typedef Struct in C Integer Promotions in C C Program Swap Numbers in cyclic order Using Call by Reference C Program to Find Largest Number Using Dynamic Memory Allocation C Program to Find the Largest Number using Ternary Operator C/C++ Program to Find the Size of int, float, double and char Find the Largest Three Distinct Elements in an Array using C/C++ Loop Questions in C Modulus on Negative Numbers in C Multiplication table program in C using For loop Nested Loops in C Programming Examples C Program for Mean and Median of an Unsorted Array Results of Comparison Operations in C and C++ Reverse a Stack using Recursion in C Simple hash() function in C strcat() Function in C Sum of N numbers in C using For loop Use of free() function in C Write a program that produces different results in C and C++ C Function Argument and Return Values Keywords in C Bank management system in C Calendar application in C Floor() Function in C Free() Function in C How to delete a file in C How to move a text in C Remove an element from an array in C Unformatted input() and output() function in C What are linker and loader in C SJF Scheduling Program in C Socket Programming in C Structure in C Tower of Hanoi in C Union Program in C Variable Declaration in C What is Linked List in C While Loop Syntax in C fork() in C GCD program in C Branching Statements in C Comma Operator in C Control statement in C Double Specifier in C How to create a binary file in C Long int in C Palindrome Number in C Pure Virtual Function in C Run Time Polymorphism in C Types of Array in C Types of Function in C What is a buffer in C What is required in each C Program Associativity of Operators in C Bit Stuffing Program in C Actual and Formal Parameters Addition of two Numbers in C Advantages of function in C Arithmetic Progression Program in C Binomial Coefficient Program in C Difference between Array and List in C Diffie-Hellman Algorithm in C How to convert a number to words in C How to convert a string to hexadecimal in C Difference between If and Switch Statement in C C and C++ Binary Files C program that does not Suspend when Ctrl+Z is Pressed Different ways to Declare the Variable as Constant in C Range of Int in C C Program to find the size of a File FIFO Example in the C Language For loop in C Programming GCD program of two numbers in C GPA Calculator in C How to Calculate Time Complexity in C How to include graphics.h in C How to measure time taken by a function in C How to return a Pointer from a Function in C What is the main in C Addition of Matrix in C Booleans in C C Program for Extended Euclidean algorithms C Program of Fencing the Ground Ceil and Floor in C Compound Interest Program in C Displaying Array in C Distance Vector Routing Protocol Program in c Dos.h Header File in C Language DSA Program in C Explain the two-way selection in C Fee Management System in C File Operations in C Malloc function in C Multiplication Table in C Simple Programs in C Language tolower() Function in C Type Conversion in the C Why does sizeof(x++) not Increment x in C

Long int in C

  • We use data type to avoid the type of data to be stored for a variable at the time of declaration.
  • So, we can say that the variable type is known by the data type assigned to it and what type of data the variable can store.
  • As we know, there are different data types, so the memory allocation differs from one another. The memory is created by the compiler when any of the variables is declared.
  • The memory allocation depends on the data type we declared for a variable. The size also depends on the system on which it is operating.  Which takes 4 – bytes or sometimes it takes 2 – bytes.
  • Let us consider a list of ranges for memory requirements for a 32 – bit compiler
Sl no            Data Type       Bytes             Range
1                int             4                 - 2 ^ 31 to 2 ^ 31 – 1
2                Long int        4                 - 2 ^ 31 to 2 ^ 31 – 1
3                Long Long int   8                 - 2 ^ 63 to 2 ^ 63 - 1

The order of size is:

Char <= short <= int <= long <= long long
  • The size of the long int is between -2147483648 to 2147483647. This means the size of long int cannot go beyond this limit.
  • Let us consider a program for this scenario.
/ /  program in to implement
/ / the above approach
# include <stdio.h>
/ / main function
int main ( ) {
/ / declaring the variables
int a ,b , c ;
a = 99999;
b = 99999;
/ / performing the multiplication operation
c = a * b;
/ / printing the result
printf(“ The result is %d “, c );
return 0;
}

Output:

The result is 1539894908
  • As you can see, that output is not correct because it cannot store values out of range 10 ^ 10. So we have use increase the range to long int.

Let us consider a program where we use a long variable to print the result:

/ / program in c to implement the above scenario
# include <stdio.h>
/ / main function
int main (  ) {
/ / declaring int variables
int a, b;
/ / declaring long variable
long c;
 a = 99999;
b = 99999;
/ / performing the multiplication operation
c = a * b;
/ / print the result
printf(“ the result is %ld “ ,c );
return 0;
}

Output:

The result is 1539894908
  • We can see the output is still the same even after converting to long because before assigning the result of multiplication of a and b, it is overflowed.
  • So must to convert int results to long before assigning the result value.

Let us consider a program to implement the above scenario:

/ / c program to implement
/ / above approach
# include<stdio.h>
/ / main function
int main ( ) {
/ / declare the variables
long a, b, c;
a = 99999;
b = 99999;
/ / performing the operation
c = a * b ;
 / / printing the result
printf(“ the result is %ld” , c);
return 0;
}

Output:

The result is 9999800001
  • In the above case, the output printed is correct because the range is sufficient for long to store.
  • In a long int data type, its size is 4.
  • The sizeof( ) function is used to find the size of the data type.
  • Let us consider a program to find the size of long int data type using sizeof( ) operator.
/ / c program to implement
/ / above case
# include <stdio.h>
/ / main function
Int main ( ) {
/ / declaring int variable
Int a;
/ / declaring long variable
Long b;
Printf(“ enter a value for a: \n”);
Scanf (“%d”, &a);
Printf(“ enter a value for b :\n”);
Scanf(“%ld” , &b);
/ / displaying the size of datatype
Printf(“ the size of %d datatype is %lu byte \n”,a,sizeof( int) );
Printf(“ the size of %d datatype is %lu byte \n”, b ,sizeof( long) );
return 0;
}

Output:

Enter a value for a: 2
Enter a value for b:99
The size of a datatype is 4 byte
The size of b datatype is 4 byte