Skip to content

Data types

What are Data Types?

Data types in C specify the type of data that a variable can hold. They define the size and layout of the variable’s memory, the range of values that can be stored, and the operations that can be performed on them. C provides several built-in data types, and programmers can also define their own custom data types using structures and typedefs.

Built-in Data Types in C:

  1. Integer Types:
    • int: Basic integer type, typically representing a 32-bit signed integer.
    • char: Character type, usually representing a single ASCII character.
    • short: Short integer, typically smaller than int.
    • long: Long integer, typically larger than int.
    • long long: Extended precision integer.
  2. Floating-Point Types:
    • float: Single-precision floating-point number.
    • double: Double-precision floating-point number.
    • long double: Extended-precision floating-point number.
  3. Void Type:
    • void: Denotes the absence of type. Used in function declarations to indicate that the function does not return a value.
  4. Derived Types:
    • Arrays: Collection of elements of the same data type.
    • Structures: User-defined data type that groups related data items.
    • Pointers: Variables that store memory addresses.

Size and Range of Data Types:

The size of data types may vary depending on the compiler and the platform. However, C standard specifies minimum ranges for each data type:

  • int: At least 16 bits, typically 32 bits.
  • char: At least 8 bits, usually represents ASCII characters.
  • short: At least 16 bits.
  • long: At least 32 bits.
  • long long: At least 64 bits.
  • float: Single-precision, typically 32 bits.
  • double: Double-precision, typically 64 bits.
  • long double: Extended-precision, varies depending on the platform.

Modifiers:

C provides type modifiers to extend the range or precision of basic data types:

  • signed: Indicates that a data type can represent both positive and negative numbers (default for int).
  • unsigned: Indicates that a data type can represent only non-negative numbers.
  • short, long, long long: These modifiers can be combined with integer types to specify the size more precisely.

Typedef:

C allows programmers to create custom data types using typedef. It provides an alias for existing data types, making the code more readable and manageable.

typedef int myInt; // Creates an alias ‘myInt’ for ‘int’ typedef struct { int age; char name[20]; } Person; // Defines a custom data type ‘Person’

Enumerated Types:

Enumerated types (enum) allow programmers to create named constants representing integer values.

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

Conclusion:

Understanding data types in C is crucial for writing efficient and correct programs. Programmers need to choose appropriate data types based on the requirements of their applications to ensure optimal memory usage and computational efficiency.