×

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

Attributes in C

Attributes are one of modern C++ key features. It is the process by which initiator can add more information to the language instead of introducing new keywords for every attribute....

4 minutes read.

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.

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.

#define in C

#define in C In the C programming language, the preprocessor directive acts an important role within which the #define directive is present that is used to define the constant or the...

3 minutes read.

How to use floor() function in C

Introduction: The floor() used as a function in the C programming language. This function uses to return the largest or most significant integer value. The integer value is smaller than...

3 minutes read.

LCM of two numbers in C

LCM is a mathematical term which stands for Least Common Multiple. LCM of any two numbers is the smallest positive value(number) which is evenly divisible by the two given numbers. Consider...

4 minutes read.

Doubly Linked list in C

To know the Doubly Linked List in C, first we should know about how the Linked List works. Linked List The Linked list is the linear data structure. In the Linked...

5 minutes read.

Diffie-Hellman Algorithm in C

Background: A method of public-key encryption known as elliptic curve cryptography (ECC) is based on the algebraic structure of elliptic curves over finite fields. To ensure equal security, ECC encryption requires fewer...

4 minutes read.

One Dimensional Array in C

One Dimensional Array in C: In the C programming language, an array is defined as a collection of one or more values of the same type. Every value present in...

4 minutes read.

Infinite loop in C

Definition of infinite loop The infinite loop is a loop that does not get dismissed because of its looping construct. A continuous output or no output are the two possible outcomes...

3 minutes read.

Java Array vs ArrayList

As we all know, arrays are linear data structures that allow you to add elements to them continuously in memory address space, whereas ArrayList is a Collection framework class. Despite...

4 minutes read.

Call Back Function in Embedded C

Callback function are one the most remarkable systems in C. A callback function is any code that is passed as a contention to another code, so this is the last...

3 minutes read.

Factorial Program in C using For Loop

Before move on the factorial program. We have to know about the for loop in C programming language. The syntax of the For Loop is: for (initialization statement; test expression; an increment...

3 minutes read.

Fee Management System in C

The concept is to split every operation into its very own characteristic. Software is made from all of the capabilities mixed with transfer cases. An example of the capabilities may...

5 minutes read.

If Statement in C

Decision Control Statements We frequently desire one set of instructions to be carried out in one circumstance while another set of instructions to be carried out in a completely different circumstance....

3 minutes read.

C Array

An array is a collection of elements that are used to hold the fixed number of values of the same type. We cannot change the size and type of array...

2 minutes read.

What are linker and loader in C

Linker and loader are utility programs that have a significant role in executing a program. Linker: A linker is a program that joins the object files produced by the assembler/ compiler...

3 minutes read.

C printf and Scanf

Input-Output functions in C Programming In C Language, the printf() and scanf() are inbuilt library functions that used for input and output. It is defined in the header file“<stdio.h>”. printf() Function: In C...

2 minutes read.

Malloc function in C

When the user or programmer does not know how much memory space is needed in the application, it a needs dynamic memory allocation during runtime. Dynamic memory allocation helps us to...

4 minutes read.

Commenting in C

Commenting in C Commenting in the C language is used to give out the information about the lines of the code which are included. It is one of the things that...

3 minutes read.