×

Derived Data Types in C

A variable in a program occupies some space in the computer's memory where some value is stored. Each variable in C has an associated data type. A value to be stored may be an integer, a float, a string, etc.

There are various data types provided by the ANSI C. The Data types are divided into three classes:

  1. Basic or Primary data types
  2. Derived data types
  3. User defined data types

Data Types

 

Basic Data Types

 

Integer

 

 

int

Real

 

 

float

double

void

char

 

 

Derived Data Types

 

 

Array

 

Pointer

 

Function

User Defined Data Types

 

 

Structure

 

Union

 

Enum

 

*  Each data type mentioned requires a different amount of memory and they vary depending on the type.

 

Derived Data Type

Derived Data types can be defined as the type of data types that are derived from fundamental data types.

They are derived from the primitive data types by inclusion of some elements of the basic or primary data types. They are used in order to represent single/multiple values.

The derived data types have advanced properties and are used to perform complex tasks in C programming. The derived data types don’t create new data types, they only add some functionality to existing data types.

Types of Derived Data types

The C language supports three fundamental derived data types. They are as follows:

  1. Arrays
  2. Pointers
  3. Functions

Arrays

An array is a collection of items or logically related variables of identical data type which are stored in contiguous memory locations. Once the size of array is declared, it cannot be changed.

The items or elements in the array are stored in contiguous memory locations, i.e., one after another.

Program 1: Printing the elements of an arrays

#include<stdio.h>


int main()
{


int arr[10]= {1,7,10,21,3,9,125,729,800,369} ;  //declaring the elements of array
int i; 						        //declaring the local variable
printf("The Elements of array are \n");


for(i=0; i<10 ;i++)
{
printf("%d\n",arr[i]);
}
return  0;
}

Output of the program:

Derived Data Types in C

Pointers

A pointer is a variable and this variable contains the address of another variable, i.e., it’s a variable which has the address of another variable as its value. The utilization of pointers is to access the memory and also, to govern the address (manipulation of address).

For eg, If a is a variable of type int having value \0 stored at address 3000 and address of a is assigned to some other variable b, then b is a pointer variable pointing to memory address stored in it. In simple words, b is a pointer variable containing the address of a (i.e., 3000).

Program 2: Retrieving the value stored and address of variable using pointers

#include <stdio.h>
#include <conio.h>
 
int main () 
{
   int  count = 5;    //declaring the local variables
   int *ptr = &count;  //pointer variable
 
   printf("The value of count variable is %d\n", count);


   printf("Address of count variable: %x\n", ptr);


   printf("Value retrieved through pointer : %d\n", *ptr);
 
   getch();
   
   return 0;
}

Output of the program:

Derived Data Types in C

Functions

A function is a self-contained block of statements that performs a specific task. A function wraps a number of statements which are repeated in a program into a single unit or block. This wrapping of statements(unit) is identified by a name known as a function name.

Every C program consists of at least one function, which is the main() function.

Program 3: Multiplication of two numbers using functions

#include<stdio.h>


int multiplication();  // function declaration


int main()
{   


   int output;   //local variable definition   
    
   output = multiplication();


    printf("The product of the two numbers is: %d\n",output);
    return 0;
}


int multiplication()
{
    int num1 = 5, num2 = 15;
    return num1*num2;
}

Output of the program:

Derived Data Types in C

Program 4:  Calculator program in C using functions

#include <stdio.h>
float addition(float x, float y);
float subtraction(float x, float y);
float multiplication(float x, float y);
float division(float x, float y);


int main()
{
	char operator;
	float num1, num2, result = 0;
	printf("\n Please Enter a valid Operator (+, -, *, /)  :  ");
          scanf("%c", &operator);
  	printf("\n Enter the values for operands: num1 and num2  :  ");
  	scanf("%f%f", &num1, &num2);
  	switch(operator)
  	{
  		case '+':
printf("\n Operator entered : Addition");
result = addition(num1, num2);
break;
case '-':


printf("\n Operator entered : Subtraction");
result = subtraction(num1, num2);


break;  			


case '*':
printf("\n Operator entered : Multiplication");
result = multiplication(num1, num2);


break;


case '/':
printf("\n Operator entered : Division");
result = division(num1, num2);


break;


default:
printf("\n You have entered an Invalid Operator ");				    			}


printf("\n The result of %.2f %c %.2f  = %.2f", num1, operator, num2, result);


return 0;


}


float addition(float x, float y)
{
return x + y;
}


float subtraction(float x, float y)
{
return x - y;
}


float multiplication(float x, float y)
{
return x * y;
}
float division(float x, float y)
{
	return x / y;
}

Output of the program:

Derived Data Types in C

Related Topics

Pre-increment and Post-increment in C

The rich set of operators is supported by the c language. In c there are several operators used. The mathematical operations in the programming language are done with the operators...

4 minutes read.

Branching Statements in C

What is branching in c? Branching gets its name from the fact that the computer can select which branch to follow.Programs written in the C language execute statements one after the...

6 minutes read.

Character Class Tests in C

Introduction The <ctype.h> is a header file in C which is used to declare functions for testing characters. This header file of the C standard library is used to declare multiple...

4 minutes read.

Data Structures And Algorithms in C

C language is one of the most flexible and simple languages. So, it is always better to learn any concept in C language compared to other languages. Let us look...

13 minutes read.

C Switch Statements

Switch-case statement comes under the Selection control statement; there are four types of Control statements Decision-making statements (if, if-else)Selection statements (Switch-case)Iteration statements (for, while, do-while)Jump statements (break, continue, goto) If we want...

4 minutes read.

Pseudo Code in C

Pseudo code in C can be referred to as a simple way or method to write programming code or program algorithm in English. A pseudocode is an informal representation of...

4 minutes read.

Difference between while and for loop in C

While Loop The syntax that can be used for the ‘while’ loop in the C programming language is mentioned below: while (test expression or termination condition)  {   // the main body of the...

6 minutes read.

Conditional Operator in C

In C programming language, the conditional operator (also known as the ternary operator) is a shorthand way of writing an if-else statement. The syntax of conditional operator in C is...

3 minutes read.

Enumeration (Enum) in C

Enumeration (Enum) in C: In the C programming language, the enum is referred to as an enumerated type. Enum is a user defined data type consisting of integer values and...

3 minutes read.

Pi() Function in C

Pi: Mathematic constants are not defined in the c or c++ programming languages. To use the Mathematical constants firstly, we have to define the _USE_MATH_DEFINES and then declare the cmath and...

3 minutes read.

Infix to Postfix program in C

Infix Expression: In infix expression, an operator is placed between the two operands. Example: x + y, here operator + is placed between operands x and y. Postfix Expression: In...

3 minutes read.

Calloc in C

The calloc() is a library function in C which is used for memory allocation. The calloc() function dynamically allocates multiple blocks of memory to complex data structures. This includes data structures...

3 minutes read.

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...

3 minutes read.

Call by Value and Call by Reference in C

Call by reference and call by value are two different ways of passing arguments to a function in C programming language. Call by reference means that the called function is...

4 minutes read.

Built-in functions in C

The function is a set of instructions and statements enclosed in the "{}" delimiter. In c, there are two types of functions. Pre-define functions/ Built-in functionsUser define function. Built-in functions in C:- These...

8 minutes read.

Bar3d() function in C Graphics

The bar3d function is used to create a 2-dimensional filled-in rectangular bar. We can also create three-dimensional shapes in C using helpful function. The first step in creating this 3D...

3 minutes read.

Banker’s Algorithm in C

Introduction Before doing a "s-state" check to look for potential activities and deciding if allocation should be allowed to continue, the banker's algorithm, a resource allocation and deadlock avoidance algorithm, tests...

5 minutes read.

C Pointers

Pointers in C A pointer is a variable, which contains the address of another variable, i.e., it’s a variable which has the address of another variable as its value. The utilization...

4 minutes read.

Fseek Function in C

The fseek function is a function in the C standard library that changes the position of the file pointer in a stream-oriented file. It is typically used to move the...

3 minutes read.

Expressions in C

Expressions in C: In the C programming language, an expression defines a formula in which the operands are linked to each other by using operators to compute the value. The operand...

4 minutes read.