DATA-TYPE AND MODIFIERS IN C PROGRAMMING
A data-type in C programming is a set of values and is determined to act on those values. C
provides various types of data-types which allow the programmer to select the appropriate
type for the variable to set its value.
C Data Types are used to:
Identify the type of a variable when it declared.
Identify the type of the return value of a function.
Identify the type of a parameter expected by a function.
Primitive Data Types:
Every C compiler supports five primary data types:
Data Type Description
void As the name suggests, it holds no value and is generally used for specifying the
type of function or what it returns. If the function has a void type, it means that the
function will not return any value.
int Used to denote an integer type.
char Used to denote a character type.
float, double Used to denote a floating-point type.
Non-Primitive Data Types:
C allows the feature called type definition which allows programmers to define their
identifier that would represent an existing data type. There are three such types:
Data Types Description
Structure It is a package of variables of different types under a single name.
This is done to handle data efficiently. "struct" keyword is used to
define a structure.
Union These allow storing various data types in the same memory
location. Programmers can define a union with different members,
but only a single member can contain a value at a given time. It is
used for
Enum Enumeration is a special data type that consists of integral
constants, and each of them is assigned with a specific name.
"enum" keyword is used to define the enumerated data type.
Data Types modifiers
Modifiers are keywords in c which changes the meaning of basic data type in c. It specifies the
amount of memory space to be allocated for a variable. Modifiers are prefixed with basic data
types to modify the memory allocated for a variable. There are five data type modifiers in C
Programming Language:
long
short
signed
unsigned
All Data Types in Detail with Size and Range of Data Type
The following table provides the details of standard integer types with their storage sizes and
value ranges −
Type Size (in Bytes) Range of Value
char 1 byte -128 to 127 or 0 to 255
unsigned char 1 byte 0 to 255
signed char 1 byte -128 to 127
-32,768 to 32,767 or -2,147,483,648 to
int 2 or 4 bytes
2,147,483,647
unsigned int 2 or 4 bytes 0 to 65,535 or 0 to 4,294,967,295
short 2 bytes -32,768 to 32,767
unsigned short 2 bytes 0 to 65,535
long 8 bytes or (4bytes for 32 bit OS) -9223372036854775808 to
9223372036854775807
unsigned long 8 bytes 0 to 18446744073709551615