Now the expression “*p” accesses the total memory of “s1”
The expression “(*p).id” accesses the “id” in s1.
The expression “(*p).id” is equal to “p -> id”
The expression “(*p).name” accesses the “name” in s1.
“(*p).name” is equal to “p -> name”
#include <stdio.h>
#include <string.h>
struct Books
{
char title[50];
char author[50];
char subject[100];
int book_id;
};
void printBook( struct Books *book );
int main( )
{
struct Books Book1; //Declare Book1 of type Book
struct Books Book2; // Declare Book2 of type Book
strcpy( Book1.title, "C Programming");
strcpy( Book1.author, "vinay");
strcpy( Book1.subject, "C Programming Tutorial");
Book1.book_id = 6495407;
strcpy( Book2.title, "Telecom Billing");
strcpy( Book2.author, "naveen");
strcpy( Book2.subject, "Telecom Billing Tutorial");
Book2.book_id = 6495700;
printBook( &Book1 );
printBook( &Book2 );
return 0;
}
void printBook( struct Books *book )
{
printf( "Book title : %s\n", book->title);
printf( "Book author : %s\n", book->author);
printf( "Book subject : %s\n", book->subject);
printf( "Book book_id : %d\n", book->book_id);
}
Book title: C Programming
Book author: vinay
Book subject: C Programming Tutorial
Book book_id: 6495407
Book title: Telecom Billing
Book author: naveen
Book subject: Telecom Billing Tutorial
Book book_id: 6495700