Presentation is loading. Please wait.

Presentation is loading. Please wait.

StructureStructure. Outline Introduction Structure Definitions Initializing Structures Accessing Members of Structures Using Structures with Functions.

Similar presentations


Presentation on theme: "StructureStructure. Outline Introduction Structure Definitions Initializing Structures Accessing Members of Structures Using Structures with Functions."— Presentation transcript:

1 StructureStructure

2 Outline Introduction Structure Definitions Initializing Structures Accessing Members of Structures Using Structures with Functions typedef Example: High-Performance Card Shuffling and Dealing Simulation

3 Introduction Structures –Collections of related variables (aggregates) under one name Can contain variables of different data types –Commonly used to define records to be stored in files –Combined with pointers, can create linked lists, stacks, queues, and trees

4 Structure definition Example struct card { char *face; char *suit; }; –struct introduces the definition for structure card –card is the structure name and is used to declare variables of the structure type –card contains two members of type char * These members are face and suit

5 Structure Definition struct information –A struct cannot contain an instance of itself –Can contain a member that is a pointer to the same structure type –A structure definition does not reserve space in memory Instead creates a new data type used to define structure variables Definitions –Defined like other variables: card oneCard, deck[ 52 ], *cPtr; –Can use a comma separated list: struct card { char *face; char *suit; } oneCard, deck[ 52 ], *cPtr;

6 Structure Definition

7 Valid Operations –Assigning a structure to a structure of the same type –Taking the address ( & ) of a structure –Accessing the members of a structure –Using the sizeof operator to determine the size of a structure

8 Initializing structure Initializer lists –Example: card oneCard = { "Three", "Hearts" }; Assignment statements –Example: card threeHearts = oneCard; –Could also define and initialize threeHearts as follows: card threeHearts; threeHearts.face = “Three”; threeHearts.suit = “Hearts”;

9 Accessing Members of Structures Accessing structure members –Dot operator (. ) used with structure variables card myCard; printf( "%s", myCard.suit ); –Arrow operator ( -> ) used with pointers to structure variables card *myCardPtr = &myCard; printf( "%s", myCardPtr->suit ); –myCardPtr->suit is equivalent to ( *myCardPtr ).suit

10

11

12 Ace of Spades

13 Example: High-Performance Card- shuffling and Dealing Simulation Pseudocode: –Create an array of card structures –Put cards in the deck –Shuffle the deck –Deal the cards

14

15

16

17

18 Four of Clubs Three of Hearts Three of Diamonds Three of Spades Four of Diamonds Ace of Diamonds Nine of Hearts Ten of Clubs Three of Clubs Four of Hearts Eight of Clubs Nine of Diamonds Deuce of Clubs Queen of Clubs Seven of Clubs Jack of Spades Ace of Clubs Five of Diamonds Ace of Spades Five of Clubs Seven of Diamonds Six of Spades Eight of Spades Queen of Hearts Five of Spades Deuce of Diamonds Queen of Spades Six of Hearts Queen of Diamonds Seven of Hearts Jack of Diamonds Nine of Spades Eight of Hearts Five of Hearts King of Spades Six of Clubs Eight of Diamonds Ten of Spades Ace of Hearts King of Hearts Four of Spades Jack of Hearts Deuce of Hearts Jack of Clubs Deuce of Spades Ten of Diamonds Seven of Spades Nine of Clubs King of Clubs Six of Diamonds Ten of Hearts King of Diamonds

19 THANK YOU…


Download ppt "StructureStructure. Outline Introduction Structure Definitions Initializing Structures Accessing Members of Structures Using Structures with Functions."

Similar presentations


Ads by Google