Nested Structures Initialisation – Computer Sir Ki Class

Login


Lost your password?

Don't have an account ?
Register (It's FREE) ×
  

Login
[lwa]



Code Learning #CPP#2934 siteicon   siteicon   siteicon  

Nested Structures Initialisation

Program to demonstrate the initialisation process of nested structures.

Source Code

TC++ #2934

 

Source Code

  Related (?) :

Run Output

Raju Verma, 40

Code Understanding

struct Name { char fname[40]; char lname[40];};
Structure with two char array for first name (fname) and last name (lname)of a Name.

struct Person { Name name; int age; };
A structure named Person with nested structure Name with the instance name as name and an additional variable age.

Person p1={{“Raju”,”Verma”},40};
Here is how this kind of nested structure is initialised. Notice the use of additional curly braces for the nested portion.  Remember that partial initialisation rules as specified in #2799 do apply on each structure.

cout<<p1.name.fname<<” “<<p1.name.lname <<“, “<<p1.age<<endl;
Here the nested structure is printed by accessing using the dot(.) operator one or more times as per nesting depth.

Notes

  • For partial initialisation of nested structures the omission of trailing values are allowed on each structure basis. For e.g.
    {{“Raju”,”Verma”}}; would be allowed, {40}; will not be allowed.
    {{“Raju”}}; would be allowed, {{“Verma”}}; will not be allowed.
    {{“Raju”},40};
    will also be allowed

Common Errors

  • Students are advised to count left curly braces and right curly braces to make a correct initialisation. They should be equal.


Suggested Filename(s): stru-nest-init.cpp,stru-ni.cpp



Share

sunmitra| Created: 22-Jan-2018 | Updated: 22-Jan-2018|






×
Introductory Sessions Beginning to Program Tokens Keyword and Identifiers Data Types Variables and Constants Operators Simple User Input Building Expressions and Formulas Simple Real World Problems Simple If and If Else Multiple-Nested-Ladder of If Else Switch case selection Simple Loops Tricks in Loops - break continue scope Loop Applications - Handling numerals Series printing loops Nested Loops Pattern printing loops Number Varieties and Crunches String Handling (Null Terminated) Strings - string class type Functions (Built-in) Functions - user defined Functions Reference Passing/Returning Arrays Concepts and 1-D Arrays Array Data Management Two dimensional arrays and Matrices Structures Basics Structures passing/returning 2D Array Memory Addressing Display Using IO Manipulation Display Using C Formatting Tricks User Defined Data Types Enumerated Types Preprocessor Directives And Macros Exception Handling Programming Paradigms and OOPs Advantages Abstraction and Encapsulation Polymorphism Inheritance Function Overloading Concepts Function Overloading Varieties Function Overloading Special Cases Defining Classes Creating and Using Class Objects Class Members Accessibility Class Function Types Inline Functions Constant Functions Nesting of Functions Class Members Scope Resolution Static Members in a Class Array of Objects Constructor Concepts Default Constructor Parameterized Constructor Copy Constructor Constructor Overloading Destructors Inheritance Fundamentals Public Derivations Private and Protected Derivations Multiple Inheritance Multi-Level Inheritance Class Nesting Data File Concepts Handling Text Files Handling Binary Files Pointer Concepts Pointer and Arrays Pointers and Functions Object Pointers This Pointer Linked Lists Stacks Queues


Back