Presentation is loading. Please wait.

Presentation is loading. Please wait.

Structure and Union Types 程式設計 潘仁義 CCU COMM. Structure Type Definition struct structured data objects, can be defined by users #define STRSIZ 10 typedef.

Similar presentations


Presentation on theme: "Structure and Union Types 程式設計 潘仁義 CCU COMM. Structure Type Definition struct structured data objects, can be defined by users #define STRSIZ 10 typedef."— Presentation transcript:

1 Structure and Union Types 程式設計 潘仁義 CCU COMM

2 Structure Type Definition struct structured data objects, can be defined by users #define STRSIZ 10 typedef struct { char name[STRSIZ]; double diameter; /* diameter in km */ intmoons;/* number of moons */ double orbit_time,/* years to orbit sun once */ rotation_time;/* hours to rotate once */ } planet_t; int main () { planet_tcurrent_planet, blank_planet = {“”, 0,0,0,0}; intstatus = scan_planet(&current_planet); /* 等會看 */ current_planet = get_planet(); print_planet(current_planet); …

3 Assigning Values to Components of Variable current_planet

4 Function with a Structured Input Parameter

5 Function Comparing Two Structured Values for Equality

6 Function with a Structured Output Argument 也可寫成 & plnp->diameter, &plnp->moons, & plnp->orbit_time, &plnp->rotation_time);

7 Data Areas of main and scan_planet during Execution of status = scan_planet (&current_planet);

8 Function get_planet Returning a Structured Result Type

9 Data Type planet_t and Basic Operations 例如 : 課本的 complex Figure 11.10

10 Parallel Arrays and an Array of Structures int id[50]; double gpa[50]; struct { int id; double gpa; } stulist[50];

11 Union types Union To deal with situations in which one needs a data object that can be interpreted in a variety of ways. typedef union { intwears_wig; /* 載假髮嗎 ?*/ charcolor[20]; } hair_t; typedef struct { intbald;/* 禿頭嗎 ?*/ hair_th; } hair_info_t;

12 Function That Displays a Structure with a Union Type Component

13 Q & A union 可以用 -> 嗎 ? struct planet_t a, b; a = b; /* 可這麼寫嗎 ? */ if(a == b) {} /* 可這麼寫嗎 ? */ (*plnp).name *plnp.name plnp->name &plnp->name 小心: union 的內容該如何解釋 ?


Download ppt "Structure and Union Types 程式設計 潘仁義 CCU COMM. Structure Type Definition struct structured data objects, can be defined by users #define STRSIZ 10 typedef."

Similar presentations


Ads by Google