In C programming language, data types are used to define the type of data that can be stored in a variable. Each data type has a different range of values and memory allocation. Understanding the different data types in C is important for writing efficient and error-free programs.

Primitive Data Types

Char

A char data type is used to represent a single character. It can hold any character from the ASCII character set. The size of a char is 1 byte.

C
char c = 'A';

Int

An int data type is used to represent integer values. It can hold both positive and negative numbers. The size of an int is typically 2 or 4 bytes.

C
int x = 10;

Float

A float data type is used to represent floating-point numbers with single precision. The size of a float is typically 4 bytes.

C
float y = 4.14

Double

A double data type is used to represent floating-point numbers with double precision. The size of a double is typically 8 bytes.

C
double z = 4.14159;

Derived Data Types

Arrays

An array is a collection of elements of the same data type. The size of an array is fixed and declared at the time of array creation.

Example:

C
int arr[5] = {1, 2, 3, 4, 5};

Structures

A structure is a collection of elements of different data types. It is used to group related data together. The size of a structure is determined by the size of its elements.

Example:

C
struct student {
   char name[50];
   int age;
   float marks;
};

Pointers

A pointer is a variable that stores the memory address of another variable. It is used to manipulate memory addresses and to create dynamic memory allocation.

Example:

C
int *ptr;
int x = 10;
ptr = &x;

Enumerations

An enumeration is a user-defined data type that consists of a set of named constants. It is used to define a group of related constants.

Example:

C
enum week {
   Monday,
   Tuesday,
   Wednesday,
   Thursday,
   Friday,
   Saturday,
   Sunday
};

Conclusion

Data types are an important concept in C programming. Understanding the different data types and their usage is necessary for writing efficient and error-free programs.