answersLogoWhite

0


Best Answer

pointer -> fieldname

User Avatar

Wiki User

13y ago
This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: Which operator is used to indirectly access a member of a struct?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Continue Learning about Engineering

What are nested structures in C?

Structures can contain other structures as members; in other words, structures can nest. Consider the following two structure types: struct first_structure_type { int member_of_1; }; struct second_structure_type { double double_member; struct first_structure_type first_struct_member; }; The first structure type is incorporated as a member of the second structure type. You can initialize a variable of the second type as follows: struct second_structure_type second_struct_member; second_struct_member.double_member = 12345.6789; second_struct_member.first_struct_member.integer_member_of_1 = 5; The member operator . is used to access members of structures that are themselves members of a larger structure. No parentheses are needed to force a special order of evaluation; a member operator expression is simply evaluated from left to right. In principle, structures can be nested indefinitely. Ref: http://www.crasseux.com/books/ctutorial/Nested-structures.html


How can an individual structure member be accessed in terms of its corresponding pointer variable?

By dereferencing the pointer variable. This can be achieved in two ways: typedef struct s { int i; float f; }; void f (struct s* p) { int x = p->i; /* using pointer to member operator */ float y = (*p).f; /* using dereference operator */ } The two methods are functionally equivalent.


Difference between c plus plus class and c structures?

The definition of the structure in C is limited to within the module and cannot be initialized outside its scope. Where as in C++ you can initialize the objects anywhere within the boundaries of the project.


What is meant by private access in c plus plus?

It isn't. Private is the default access for class members. For struct members, the default access is public. Aside from default access, a class and a struct serve the same purpose; to define a class. As such, the following class definitions are equivalent: class X { int a; }; struct Y { private: int b; }; Typically, we use a struct to define simple data types with trivial construction and use class for more complex data types, often to encapsulate an invariant or to acquire a resource, hiding the implementation details from consumers using private access.


What are the advantages of a class in C over a structure in C?

A C struct only has public member variables whereas a C++ class combines member variables with member functions; the methods that operate upon the data. Moreover, each member of a class can be assigned a different level of access from public, protected or private access, thus limiting the member's exposure. This allows classes to hide data and implementation details from outside of the class, exposing only as much as is necessary in order to use the class. Thus the class becomes entirely responsible for the integrity of its data, while its methods act as the gatekeepers to that data.Note that in C++, a struct is exactly the same as a class, other than the fact that the members of a struct are public by default while members of a class are private by default, unless explicitly declared otherwise. Aside from that they operate in exactly the same way. In other words, a C++ struct is not the same as a C struct.

Related questions

What are nested structures in C?

Structures can contain other structures as members; in other words, structures can nest. Consider the following two structure types: struct first_structure_type { int member_of_1; }; struct second_structure_type { double double_member; struct first_structure_type first_struct_member; }; The first structure type is incorporated as a member of the second structure type. You can initialize a variable of the second type as follows: struct second_structure_type second_struct_member; second_struct_member.double_member = 12345.6789; second_struct_member.first_struct_member.integer_member_of_1 = 5; The member operator . is used to access members of structures that are themselves members of a larger structure. No parentheses are needed to force a special order of evaluation; a member operator expression is simply evaluated from left to right. In principle, structures can be nested indefinitely. Ref: http://www.crasseux.com/books/ctutorial/Nested-structures.html


How can an individual structure member be accessed in terms of its corresponding pointer variable?

By dereferencing the pointer variable. This can be achieved in two ways: typedef struct s { int i; float f; }; void f (struct s* p) { int x = p->i; /* using pointer to member operator */ float y = (*p).f; /* using dereference operator */ } The two methods are functionally equivalent.


Which is public to all access class or struct or function or variable?

The default access specifier for a class is private. The default access specifier for a struct is public. It does not matter if it is a function or a variable.


Where is c class made?

The C language does not support classes, per se, like the C++ language does. The closest the C language comes to a class is in the typdef struct... typdef struct _myClass { ... ... }; myClass; But you won't have any methods, inheritance, polymorphism, operator overloading, access specifiers, etc. like you do in C++.


Difference between c plus plus class and c structures?

The definition of the structure in C is limited to within the module and cannot be initialized outside its scope. Where as in C++ you can initialize the objects anywhere within the boundaries of the project.


How do you access the members of a structure?

In C, we use a struct to define a data type that represents the aggregate of two or more named variables known as members. The members of a struct need not be of the same type:struct T {int x;double y;char* z;};Once we have defined a structure, we can use it to create an instance of the type:T obj;We can access the members of a named object using the dot operator (.):obj.x = 42;obj.y = 3.14;obj.z = "Hello world!";If we hold a pointer to an object of the type, we use the pointer-to-member operator (->) instead:void f (T* ptr) {ptr->x = 42;ptr->y = 3.14;ptr->z = "Hello world!";}


What is meant by private access in c plus plus?

It isn't. Private is the default access for class members. For struct members, the default access is public. Aside from default access, a class and a struct serve the same purpose; to define a class. As such, the following class definitions are equivalent: class X { int a; }; struct Y { private: int b; }; Typically, we use a struct to define simple data types with trivial construction and use class for more complex data types, often to encapsulate an invariant or to acquire a resource, hiding the implementation details from consumers using private access.


What are the advantages of a class in C over a structure in C?

A C struct only has public member variables whereas a C++ class combines member variables with member functions; the methods that operate upon the data. Moreover, each member of a class can be assigned a different level of access from public, protected or private access, thus limiting the member's exposure. This allows classes to hide data and implementation details from outside of the class, exposing only as much as is necessary in order to use the class. Thus the class becomes entirely responsible for the integrity of its data, while its methods act as the gatekeepers to that data.Note that in C++, a struct is exactly the same as a class, other than the fact that the members of a struct are public by default while members of a class are private by default, unless explicitly declared otherwise. Aside from that they operate in exactly the same way. In other words, a C++ struct is not the same as a C struct.


How are the keywords struct and class different?

The keyword class is not a keyword in C. It is a keyword in C++, so I have added C++ to the category list for this question.The default access specifier for struct is public, while for class, it is private.Struct does not allow you to specify methods, while class does.A struct is not a class, and cannot be derived, while a class can be treated as a struct, if the scope and access is correct.


How would you alter the value stored in the structure member using function?

Pass the structure by reference then dereference the member. typedef struct S { int x; }; void foo (struct S* s) { s->x=42; }


Syntex for accessing data members of the structure in c plus plus?

Use the member accessor (.) operator. struct object { int m_data; }; int main() { object o; o.m_data = 100; std::cout << o.m_data << std::cout; return(0); }


How do you differentiate between classes and structures with appropriate examples in c plus plus?

The only difference between a class and struct in C++ is that a struct's members are public by default while a class' members are private by default. For example: #include<iostream> struct foo{int m_data;}; class bar{int m_data;}; int main() { foo f; bar b; f.m_data=100; // ok; m_data is public by default. b.m_data=200; // access denied; m_data is private by default. return(0); } To make bar work the same as foo, you must declare m_data as a public member: class bar{ public: int m_data; }; To make foo work the same as the original bar, you must declare m_data as a private member: struct foo{ private: int m_data; }; Aside from that, structs and classes are treated as being the same thing: they are both used to define a type of object. In other words, they both define a class of object. Note that the struct keyword is inherited from C, but a C-style struct is simply an user-defined type that can have one or more member attributes (data fields), but that has no member methods associated with it. Despite that, a C-style struct is still a good C++ struct, because the C-style struct members are always public and cannot be declared private (only C++ struct members can be declared private).