0% found this document useful (0 votes)
23 views2 pages

C - Typedef - 21

The C programming language provides the typedef keyword to define new types and give types abbreviated names. Typedef can be used to define basic types like BYTE as unsigned char or define new complex types by combining existing types like a Book structure. Typedef defines a new type for semantic clarity while #define creates a text substitution and is processed earlier by the preprocessor.

Uploaded by

rahul kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views2 pages

C - Typedef - 21

The C programming language provides the typedef keyword to define new types and give types abbreviated names. Typedef can be used to define basic types like BYTE as unsigned char or define new complex types by combining existing types like a Book structure. Typedef defines a new type for semantic clarity while #define creates a text substitution and is processed earlier by the preprocessor.

Uploaded by

rahul kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

4/30/2020 C - typedef - Tutorialspoint

C - typedef

The C programming language provides a keyword called typedef, which you can use to give a type a new
name. Following is an example to define a term BYTE for one-byte numbers −

typedef unsigned char BYTE;

After this type definition, the identifier BYTE can be used as an abbreviation for the type unsigned char,
for example..

BYTE b1, b2;

By convention, uppercase letters are used for these definitions to remind the user that the type name is
really a symbolic abbreviation, but you can use lowercase, as follows −

typedef unsigned char byte;

You can use typedef to give a name to your user defined data types as well. For example, you can use
typedef with structure to define a new data type and then use that data type to define structure variables
directly as follows −

Live Demo
#include <stdio.h>
#include <string.h>

typedef struct Books {


char title[50];
char author[50];
char subject[100];
int book_id;
} Book;

int main( ) {

Book book;

strcpy( book.title, "C Programming");


strcpy( book.author, "Nuha Ali");
strcpy( book.subject, "C Programming Tutorial");
book.book_id = 6495407;

printf( "Book title : %s\n", book.title);


printf( "Book author : %s\n", book.author);
printf( "Book subject : %s\n", book.subject);

https://www.tutorialspoint.com/cprogramming/c_typedef.htm 1/2
4/30/2020 C - typedef - Tutorialspoint

printf( "Book book_id : %d\n", book.book_id);

return 0;
}

When the above code is compiled and executed, it produces the following result −

Book title : C Programming


Book author : Nuha Ali
Book subject : C Programming Tutorial
Book book_id : 6495407

typedef vs #define
#define is a C-directive which is also used to define the aliases for various data types similar to typedef
but with the following differences −

typedef is limited to giving symbolic names to types only where as #define can be used to
define alias for values as well, q., you can define 1 as ONE etc.

typedef interpretation is performed by the compiler whereas #define statements are processed
by the pre-processor.

The following example shows how to use #define in a program −

Live Demo
#include <stdio.h>

#define TRUE 1
#define FALSE 0

int main( ) {
printf( "Value of TRUE : %d\n", TRUE);
printf( "Value of FALSE : %d\n", FALSE);

return 0;
}

When the above code is compiled and executed, it produces the following result −

Value of TRUE : 1
Value of FALSE : 0

https://www.tutorialspoint.com/cprogramming/c_typedef.htm 2/2

You might also like