Lesson Description
Lession - #17 C Structure
Defining a Structure
To define a structure, you must use the
struct statement. The struct statement defines a new data type, with more than one member. The format of the struct statement is as follows −
struct [structure tag] {
member definition;
member definition;
...
member definition;
} [one or more structure variables];
The
structure tag is optional and each member definition is a normal variable definition, such as int i; or float f; or any other valid variable definition. At the end of the structure's definition, before the final semicolon, you can specify one or more structure variables but it is optional. Here is the way you would declare the Book structure −
struct Books {
char title[50];
char author[50];
char subject[100];
int book_id;
} book;
Accessing Structure Members
To access any member of a structure, we use the
member access operator (.>
. The member access operator is coded as a period between the structure variable name and the structure member that we wish to access. You would use the keyword
struct to define variables of structure type. The following example shows how to use a structure in a program −
#include <stdio.h>
#include <string.h>
struct Books {
char title[50];
char author[50];
char subject[100];
int book_id;
};
int main( >
{
struct Books Book1; /* Declare Book1 of type Book */
struct Books Book2; /* Declare Book2 of type Book */
/* book 1 specification */
strcpy( Book1.title, "C Programming">
;
strcpy( Book1.author, "Amar Gill">
;
strcpy( Book1.subject, "C Programming Tutorial">
;
Book1.book_id = 2007059;
/* book 2 specification */
strcpy( Book2.title, "Telecom Billing">
;
strcpy( Book2.author, "Zara Ali">
;
strcpy( Book2.subject, "Telecom Billing Tutorial">
;
Book2.book_id = 6495700;
/* print Book1 info */
printf( "Book 1 title : %s\n", Book1.title>
;
printf( "Book 1 author : %s\n", Book1.author>
;
printf( "Book 1 subject : %s\n", Book1.subject>
;
printf( "Book 1 book_id : %d\n", Book1.book_id>
;
/* print Book2 info */
printf( "Book 2 title : %s\n", Book2.title>
;
printf( "Book 2 author : %s\n", Book2.author>
;
printf( "Book 2 subject : %s\n", Book2.subject>
;
printf( "Book 2 book_id : %d\n", Book2.book_id>
;
return 0;
}
When the above code is compiled and executed, it produces the following result −
Book 1 title : C Programming
Book 1 author : Amar Gill
Book 1 subject : C Programming Tutorial
Book 1 book_id : 2007059
Book 2 title : Telecom Billing
Book 2 author : Zara Ali
Book 2 subject : Telecom Billing Tutorial
Book 2 book_id : 6495700