Modify the answer to Puzzle 3 so that the parameter to the printBulb()
function is the address of the Bulb it is to print.
#include <stdio.h>
/* declaration of type Bulb */
struct Bulb
{
int watts;
int lumens;
};
/* function to print a Bulb */
void printBulb( struct Bulb *b )
{
}
int main()
{
/* declare and initialize two Bulbs */
/* print values of both Bulbs */
printBulb( &bulbA );
printBulb( &bulbB );
return 0;
}
Hint: If you have a pointer to a struct, say ptr then the members of the struct
can be accessed by (*prt).member where (*prt) follows (dereferences) the pointer
to the struct, and then the usual dot notation, .member accesses the member.
This combination is so common that there is a shorthand notation for it:
ptr->member is the same as (*ptr).member
For example, if blb is a pointer to a struct Bulb,
then b->watts and b->lumens accesses its members.