In C, you must explicitly use the struct keyword to declare a structure. In C, you do not need to use the struct keyword after the type has been defined. You have the option of declaring variables when the structure type is defined by placing one or more comma-separated variable names between the closing brace and the semicolon. Struct atau record adalah kumpulan data yang memiliki tipe data yang berbeda. Secara pendeklarasian, struct sangat berbeda dengan array yang hanya memiliki satu buah tipe data untuk setiap kumpulannya. Struct digunakan apabila data yang ingin dikelompokkan memiliki tipe data yang berbeda. Pendeklarasian st.
Data structuresA data structure is a group of data elements grouped together under one name. These data elements, known as members, can have different types and different lengths. Data structures can be declared in C++ using the following syntax:struct type_name { Where type_name is a name for the structure type, object_name can be a set of valid identifiers for objects that have the type of this structure. Within braces {} , there is a list with the data members, each one is specified with a type and a valid identifier as its name.For example: This declares a structure type, called product , and defines it having two members: weight and price , each of a different fundamental type. This declaration creates a new type (product ), which is then used to declare three objects (variables) of this type: apple , banana , and melon . Note how once product is declared, it is used just like any other type.Right at the end of the struct definition, and before the ending semicolon (; ), the optional field object_names can be used to directly declare objects of the structure type. For example, the structure objects apple , banana , and melon can be declared at the moment the data structure type is defined:In this case, where object_names are specified, the type name (product ) becomes optional: struct requires either a type_name or at least one name in object_names , but not necessarily both.It is important to clearly differentiate between what is the structure type name ( product ), and what is an object of this type (apple , banana , and melon ). Many objects (such as apple , banana , and melon ) can be declared from a single structure type (product ).Once the three objects of a determined structure type are declared ( apple , banana , and melon ) its members can be accessed directly. The syntax for that is simply to insert a dot (. ) between the object name and the member name. For example, we could operate with any of these elements as if they were standard variables of their respective types:Each one of these has the data type corresponding to the member they refer to: apple.weight , banana.weight , and melon.weight are of type int , while apple.price , banana.price , and melon.price are of type double .Here is a real example with structure types in action: The example shows how the members of an object act just as regular variables. For example, the member yours.year is a valid variable of type int , and mine.title is a valid variable of type string .But the objects mine and yours are also variables with a type (of type movies_t ). For example, both have been passed to function printmovie just as if they were simple variables. Therefore, one of the features of data structures is the ability to refer to both their members individually or to the entire structure as a whole. In both cases using the same identifier: the name of the structure.Because structures are types, they can also be used as the type of arrays to construct tables or databases of them: Pointers to structuresLike any other type, structures can be pointed to by its own type of pointers:Here amovie is an object of structure type movies_t , and pmovie is a pointer to point to objects of structure type movies_t . Therefore, the following code would also be valid:The value of the pointer pmovie would be assigned the address of object amovie .Now, let's see another example that mixes pointers and structures, and will serve to introduce a new operator: the arrow operator ( ![]() ->
![]() The arrow operator ( -> ) is a dereference operator that is used exclusively with pointers to objects that have members. This operator serves to access the member of an object directly from its address. For example, in the example above:is, for all purposes, equivalent to: Both expressions, pmovie->title and (*pmovie).title are valid, and both access the member title of the data structure pointed by a pointer called pmovie . It is definitely something different than:which is rather equivalent to: This would access the value pointed by a hypothetical pointer member called title of the structure object pmovie (which is not the case, since title is not a pointer type). The following panel summarizes possible combinations of the operators for pointers and for structure members:
Typedef Struct Dev C++Nesting structuresStructures can also be nested in such a way that an element of a structure is itself another structure:After the previous declarations, all of the following expressions would be valid: (where, by the way, the last two expressions refer to the same member). Struct Dev C 4
Comments are closed.
|
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |