[ fromfile: classes.xml id: structs ]
In the C language, the struct
keyword enables the programmer to define a structured chunk of memory that can store a heterogeneous set of data.
Example 2.1 shows the definition of a structured piece of memory composed of smaller chunks of memory.
Example 2.1. src/structdemo/demostruct.h
[ . . . . ] struct Fraction { int numer, denom; string description; }; [ . . . . ]
<include src="src/structdemo/demostruct.h" href="src/structdemo/demostruct.h" id="demostructh" mode="cpp"/>
Each smaller chunk (numer, denom, description
) of the struct
is accessible by name.
The smaller chunks are called data members or, sometimes, fields.
Code that is external to the struct
definition is called client code.
Example 2.2 shows how client code can use a struct
as a single entity.
Example 2.2. src/structdemo/demostruct.cpp
[ . . . . ] void printFraction(Fraction f) { cout << f.numer << "/" << f.denom << endl; cout << " =? " << f.description << endl; } int main() { Fraction f1; f1.numer = 4; f1.denom = 5; f1.description = "four fifths"; Fraction f2 = {2, 3, "two thirds"}; f1.numer = f1.numer + 2; printFraction(f1); printFraction(f2); return 0; } Output: 6/5 =? four fifths 2/3 =? two thirds
<include src="src/structdemo/demostruct.cpp" href="src/structdemo/demostruct.cpp" id="demostructcpp" mode="cpp"/>
The printFraction()
function in this application displays the individual data members on the screen in its own peculiar way.
Notice also that the client code was able to produce a Fraction
that has an incorrect description.
Generated: 2012-03-02 | © 2012 Alan Ezust and Paul Ezust. |