×

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

Local Labels in C

Anyone who has written programs in the C programming language is required to be familiar with the "go to" and "labels" used in C to navigate between functions. "Local labels"...

4 minutes read.

String in C

String is a collection of character or group of characters. In array, string of character is terminated by a null value “\0” and enclose between double quote. We can declare...

2 minutes read.

Pointer in C

Pointer is a variable that is used to contain the address of another variable. We can easily create a pointer in C language. Example: int *ptr Symbol Description & (ampersand sign) Address of an operator...

1 minute read.

Recursion in C

Recursion in C: In the C programming language, the concept known as recursion exists that is a technique in which a function calls itself either directly or indirectly. It allows...

4 minutes read.

Positioning of file in C

Positioning() function in c The fseek() function is utilized to change the document position of the stream . The fully extent of value from the source should be one of the...

3 minutes read.

What is algorithm in C?

What is an algorithm? In computer programming languages, an algorithm is set of statement that solves a particular problem. In C, first step of every algorithm is Start and last step of...

3 minutes read.

Difference between rand() and srand() function in C

What is the rand()?The rand() means random function. This function is used in C. It generates random numbers in the range of 0 to the RAND_MAX. Suppose we generate a...

3 minutes read.

2f in C language

Float data type in c: Double-precision floating-point numbers with up to 17 significant digits are stored in the FLOAT data type. FLOAT is equivalent to C's double data type and IEEE...

3 minutes read.

C Decision control statement

Decision Making C conditional statements are used to specify one or more conditions. The statements will be executed if the condition becomes true otherwise alternative statement will be executed if the...

3 minutes read.

memcmp() in C

Introduction: In this article we are discuss about memcmp() function in C. This function permits the person to evaluate the bytes of the two characters, as mentioned above. Depending on...

4 minutes read.

Find reverse of an array in C using functions

Introduction: Here, we describe how to find the reverse array in C using functions. Suppose you have an array with n elements. I need to display the elements present in...

3 minutes read.

Character Set in C

Introduction Every language has some basic elements which are used to represent information. The English language includes alphabets which together shape a sentence, after which the sentences are used to shape...

3 minutes read.

Ftell() Function in C

Ftell(): In File Handling we have some special functions like Ftell(), Fseek(), rewind() etc.. while you are randomly accessing the file these functions play very important role and these functions...

3 minutes read.

Nested Structure in C

In C language, we can create nested Structure (Structure within Structure). There are two ways to define a nested structure. By separate structure By Embedded structure   Separate structure In a separate...

1 minute read.

String literals in C

Constants refer to the fixed values of the program that may not alter during the compiling ad execution. These fixed values are known as literals. In other words, the values...

3 minutes read.

C vs Java Strings

String in C In C, we can define a string as a bunch of characters. A character array is distinguished from a string by the presence of the special character '\0'...

5 minutes read.

fork() in C

Introduction To create a new function in the system, there is a need for a system call, i.e. fork system call. It is also known as the child process. These child...

2 minutes read.

Dos.h Header File in C Language

Dos.h is a header file in C. Interrupt handling, sound generation, date and time functions, and other tasks can be performed using the functions in this library. This is exclusive to...

4 minutes read.

C Math Library

C Math Library The <math.h> header defines various mathematical functions and one macro. Many functions are available in this library to take double as an argument and then return double as...

4 minutes read.

getc() function in C

Getc is one of the file handling technique in C. The Getc() is a C library function gets the next character or new characters  from the specific stream and supports...

4 minutes read.