Advance-C/C2/Union-and-Typedef/English

From Script | Spoken-Tutorial
Jump to: navigation, search

Title of script: Typedef and Union in C

Author: Ashwini Patil

Keywords: Video tutorial, typedef, union, difference between structure & union


Visual Cue
Narration
Display Slide 1 Welcome to the Spoken Tutorial on Typedef and Union in C.
Display Slide 2 In this tutorial, we will learn about
  • typedef keyword
  • union keyword
  • with the help of some examples.
Display Slide 3

System Requirements

For this tutorial I am using
  • Ubuntu Operating System version 11.10
  • gcc compiler version 4.6.1 on Ubuntu
Display Slide 4

Prerequisites


spoken-tutorial.org

To follow this tutorial, you should be familiar with C tutorials.


If not, for relevant tutorials please visit our website which is as shown.

I will start with an introduction to typedef keyword.
Display Slide 5

Introduction


  • Typedef keyword is used to give symbolic name to an existing type or user-defined datatypes.
  • It is a way to define alias to the commands.
  • It helps to provide clarity to the code.
  • It makes the code easier to understand and change.
Display Slide 6

Syntax:

typedef existing_name alias_name

ex:

typedef unsigned int uint;

Syntax:

typedef existing_name alias_name

Example:

typedef unsigned int uint;

Let us go through an example code.
Point to the filename. Note that our filename is pallindrome.c

In this program, we will check whether the given number is a pallindrome or not.

typedef unsigned int uint; We have given alias name as uint to the unsigned int datatype using typedef keyword.
uint n, n1;

uint rev = 0;

uint rem;

Here we are using uint to declare the variables.
Point to the logic. This is the logic for pallindrome.
Now let us execute the program.
Press Ctrl+Alt+T Open the terminal by pressing Ctrl+Alt+T keys simultaneously on your keyboard.
Compile

gcc pallindrome.c -o pallindrome

Type: gcc pallindrome.c -o pallindrome

Press Enter.

Execute

Type: ./pallindrome

Type: ./pallindrome
121 We see:

Enter any three digit number

I will enter 121

The output is:

Given number is a palindrome number

Display Slide 7 Now we will learn about union datatype.
  • Union is a collection of different datatypes grouped together.
  • Union allocates one common storage space for all its members.
  • We can access only one member of union at a time.
Display Slide 8-9 Syntax1:

union union_name

within curly brackets

members;

after curly brackets

union_variable

and a semi-colon.


We also have an alternate syntax.

Syntax 2:

union union_name

within curly brackets

members;

after curly brackets semi-colon

union union_name union_variable;

Let us see an example.

I have a code file; let us go through it.

Note that our filename is union.c

union student We have declared union named student.
int eng;

int maths;

int science;

Here we have three variables english, maths and science.
union student stud; In main function, we have declared a union variable as stud.
stud.eng = 75;

stud.maths = 70;

stud.science = 65;

Here we can access the union members using a union variable:
  • stud dot english
  • stud dot maths
  • stud dot science
total = stud.eng + stud.maths + stud.science; Then we calculate the total marks and display it.
gcc union.c -o union

./union

Let us execute.

On the terminal, type,

gcc union.c -o union


Type ./union

Output The output is displayed as:

Total is 228

Let us see the difference between structure and union.
Slide display 10-11-12 Union allocates a common storage space for all its members.

Structure allocates separate storage space for all its members.


Union occupies lower memory space.

Structure occupies higher memory space.


Example for union:

union student{int marks;char name[6];double average;};

Memory allocation for union variable will be 8 bytes.

As double datatype will occupy the maximum memory space.


Exampls for structure:

struct student{int mark;char name[6];double average;};


Memory allocation for structure variable will be:

2bytes+6bytes+8bytes =16bytes.

This brings us to the end of this tutorial.

Let us summarize.

Display Slide 13

Summary

In this tutorial we learnt,
  • typedef
  • union
  • Difference between union and structure.
Display Slide 14 As an assignment,
  1. Write a program to display records of an employee.
  2. Like name, address, salary.
  3. Define a union named employee.
  4. Give an alias name as emp using typedef.
Display Slide 15


Watch the video available at the link shown below

It summarises the Spoken Tutorial project

If you do not have good bandwidth, you can download and watch it

Display Slide 16

Spoken Tutorial Workshops

The Spoken Tutorial Project Team

Conducts workshops using spoken tutorials

Gives certificates to those who pass an online test

For more details, please write to

contact@spoken-tutorial.org

Display Slide 15

Acknowledgement

Spoken Tutorial Project is a part of the Talk to a Teacher project

It is supported by the National Mission on Education through ICT, MHRD, Government of India

More information on this Mission is available at: http://spoken-tutorial.org\NMEICT-Intro

This is Ashwini Patil from IIT Bombay.

Thank you for joining.

Contributors and Content Editors

Ashwini, Nancyvarkey