Data Types in C Programming

In this chapter we are going to learn about Data Types.

Data Types provides information about what kind of data we are going to store in a Variable we declare.

Primitive Data Types in C

  • Integer
  • Character
  • Float
  • Double
  • Void

Integer stores whole numbers. Character stores one character. Float stores number with decimal point. Double stores same as float but with higher precision. Void type means nothing. When we declare function as a void it returns nothing.

TypeSizeRange
char1byte-128 to 127
unsigned char1byte0 to 255
int2 bytes
or
4 bytes
-32,768 to 32,767
or
-2,147,483,648 to 2,147,483,647
unsigned int2 bytes
or
4 bytes
0 to 65,535
or
0 to 4,294,967,295
short2 bytes-32,768 to 32,767
unsigned short2 bytes0 to 65,535
long4 bytes for 32bit os
or
8 bytes for 64bit os
-2,147,483,648 to 2,147,483,647
or
-9223372036854775808 to 9223372036854775807
unsigned long8 bytes0 to 18446744073709551615

Floating Point Types

TypeSizeRangePrecision
float4 byte1.2E-38 to 3.4E+386 decimal places
double8 byte2.3E-308 to 1.7E+30815 decimal places
long double10 byte3.4E-4932 to 1.1E+493219 decimal places

Format Specifiers

To understand format specifiers, we will run following program and you can understand everything yourself.

test.c

#include<stdio.h>
int main()
{
     int loan_amount_in_dollar = 1000;
     float percentage_interest=2.50;
     char option='y';
     double precise_debt=2.6543434343984394839483;
     char string[]={'H','e','l','l','o'};

     printf("\n %s", string);
     printf("\n %d",loan_amount_in_dollar);
     printf("\n %f", percentage_interest);
     printf("\n %lf",precise_debt);
     printf("\n %c \n\n", option);

return 0;
}

Following is the Output of the above program.

$ gcc test.c
$ ./a.out     (press enter to run a.out)  

 Hello
 1000
 2.500000
 2.654343
 y 

Format Specifiers are used to display value of the variable of specific data type. If we want to display the value of an integer type we should use %d or %i format specifier.

To display the value of float variable, we have to use %f format specifier inside the double quote. Note that we always use format specifiers inside double quotes.

%lf is used for double floating point ( floating point number with higher precision. )

%c is used to display character. When we talk about any value of the variable, this value is called literal. E.g. char ch=’r’; ( r is a character literal)

%s is format specifier of string. We have to use it as an array of characters. In the above example, when we passed variable named ‘string’ in printf it is actually passing starting address of an array. Means it is the pointer to the first memory location of an array.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top