Register Login

Login with your site account

Lost your password?

Not a member yet? Register now

WebclassesWebclasses
  • Home
  • Courses
    • Start Learning Here

      • Learn HTML
      • Learn CSS
      • Learn PHP
      • Learn JS
      • Learn SQL
      • Learn C
      • Learn C++
      • Learn 8051

      New Course

      8051 Micro-controller

      8051 Micro-controller

      Free
      Read More
  • Blog
  • Contact Us
    • Home
    • Courses
      • Start Learning Here

        • Learn HTML
        • Learn CSS
        • Learn PHP
        • Learn JS
        • Learn SQL
        • Learn C
        • Learn C++
        • Learn 8051

        New Course

        8051 Micro-controller

        8051 Micro-controller

        Free
        Read More
    • Blog
    • Contact Us
    • Home
    • All courses
    • C ++ Programming

    C ++ Programming

    mahethekiller
    (0 review)
    Free
    C ++ Programming

    C++ Data Structures

    C/C++ arrays allow you to define variables that combine several data items of the same kind but structure is another user defined data type which allows you to combine data items of different kinds.

    Structures are used to represent a record, suppose you want to keep track of your books in a library. You might want to track the following attributes about each book:

    • Title
    • Author
    • Subject
    • Book ID
    Defining a Structure:

    To define a structure, you must use the struct statement. The struct statement defines a new data type, with more than one member, for your program. The format of the struct statement is this:

    struct [structure tag]
    {
       member definition;
       member definition;
       ...
       member definition;
    } [one or more structure variables];

    The structure tag is optional and each member definition is a normal variable definition, such as int i; or float f; or any other valid variable definition. At the end of the structure’s definition, before the final semicolon, you can specify one or more structure variables but it is optional. Here is the way you would declare the Book structure:

    struct Books
    {
       char  title[50];
       char  author[50];
       char  subject[100];
       int   book_id;
    }book;
     Accessing Structure Members:

    To access any member of a structure, we use the member access operator (.). The member access operator is coded as a period between the structure variable name and the structure member that we wish to access. You would use struct keyword to define variables of structure type. Following is the example to explain usage of structure:

    #include <iostream>
    #include <cstring>
     
    using namespace std;
     
    struct Books
    {
       char  title[50];
       char  author[50];
       char  subject[100];
       int   book_id;
    };
     
    int main( )
    {
       struct Books Book1;        // Declare Book1 of type Book
       struct Books Book2;        // Declare Book2 of type Book
     
       // book 1 specification
       strcpy( Book1.title, "Learn C++ Programming");
       strcpy( Book1.author, "Chand Miyan"); 
       strcpy( Book1.subject, "C++ Programming");
       Book1.book_id = 6495407;
    
       // book 2 specification
       strcpy( Book2.title, "Telecom Billing");
       strcpy( Book2.author, "Yakit Singha");
       strcpy( Book2.subject, "Telecom");
       Book2.book_id = 6495700;
     
       // Print Book1 info
       cout << "Book 1 title : " << Book1.title <<endl;
       cout << "Book 1 author : " << Book1.author <<endl;
       cout << "Book 1 subject : " << Book1.subject <<endl;
       cout << "Book 1 id : " << Book1.book_id <<endl;
    
       // Print Book2 info
       cout << "Book 2 title : " << Book2.title <<endl;
       cout << "Book 2 author : " << Book2.author <<endl;
       cout << "Book 2 subject : " << Book2.subject <<endl;
       cout << "Book 2 id : " << Book2.book_id <<endl;
    
       return 0;
    }

    When the above code is compiled and executed, it produces the following result:

    Book 1 title : Learn C++ Programming
    Book 1 author : Chand Miyan
    Book 1 subject : C++ Programming
    Book 1 id : 6495407
    Book 2 title : Telecom Billing
    Book 2 author : Yakit Singha
    Book 2 subject : Telecom
    Book 2 id : 6495700

    Structures as Function Arguments:

    You can pass a structure as a function argument in very similar way as you pass any other variable or pointer. You would access structure variables in the similar way as you have accessed in the above example:

    #include <iostream>
    #include <cstring>
     
    using namespace std;
    void printBook( struct Books book );
    
    struct Books
    {
       char  title[50];
       char  author[50];
       char  subject[100];
       int   book_id;
    };
     
    int main( )
    {
       struct Books Book1;        // Declare Book1 of type Book
       struct Books Book2;        // Declare Book2 of type Book
     
       // book 1 specification
       strcpy( Book1.title, "Learn C++ Programming");
       strcpy( Book1.author, "Chand Miyan"); 
       strcpy( Book1.subject, "C++ Programming");
       Book1.book_id = 6495407;
    
       // book 2 specification
       strcpy( Book2.title, "Telecom Billing");
       strcpy( Book2.author, "Yakit Singha");
       strcpy( Book2.subject, "Telecom");
       Book2.book_id = 6495700;
     
       // Print Book1 info
       printBook( Book1 );
    
       // Print Book2 info
       printBook( Book2 );
    
       return 0;
    }
    void printBook( struct Books book )
    {
       cout << "Book title : " << book.title <<endl;
       cout << "Book author : " << book.author <<endl;
       cout << "Book subject : " << book.subject <<endl;
       cout << "Book id : " << book.book_id <<endl;
    }

    When the above code is compiled and executed, it produces the following result:

    Book title : Learn C++ Programming
    Book author : Chand Miyan
    Book subject : C++ Programming
    Book id : 6495407
    Book title : Telecom Billing
    Book author : Yakit Singha
    Book subject : Telecom
    Book id : 6495700

    Pointers to Structures:

    You can define pointers to structures in very similar way as you define pointer to any other variable as follows:

    struct Books *struct_pointer;

    Now, you can store the address of a structure variable in the above defined pointer variable. To find the address of a structure variable, place the & operator before the structure’s name as follows:

    struct_pointer = &Book1;

    To access the members of a structure using a pointer to that structure, you must use the -> operator as follows:

    struct_pointer->title;

    Let us re-write above example using structure pointer, hope this will be easy for you to understand the concept:

    #include <iostream>
    #include <cstring>
     
    using namespace std;
    void printBook( struct Books *book );
    
    struct Books
    {
       char  title[50];
       char  author[50];
       char  subject[100];
       int   book_id;
    };
     
    int main( )
    {
       struct Books Book1;        // Declare Book1 of type Book
       struct Books Book2;        // Declare Book2 of type Book
     
       // Book 1 specification
       strcpy( Book1.title, "Learn C++ Programming");
       strcpy( Book1.author, "Chand Miyan"); 
       strcpy( Book1.subject, "C++ Programming");
       Book1.book_id = 6495407;
    
       // Book 2 specification
       strcpy( Book2.title, "Telecom Billing");
       strcpy( Book2.author, "Yakit Singha");
       strcpy( Book2.subject, "Telecom");
       Book2.book_id = 6495700;
     
       // Print Book1 info, passing address of structure
       printBook( &Book1 );
    
       // Print Book1 info, passing address of structure
       printBook( &Book2 );
    
       return 0;
    }
    // This function accept pointer to structure as parameter.
    void printBook( struct Books *book )
    {
       cout << "Book title : " << book->title <<endl;
       cout << "Book author : " << book->author <<endl;
       cout << "Book subject : " << book->subject <<endl;
       cout << "Book id : " << book->book_id <<endl;
    }

    When the above code is compiled and executed, it produces the following result:

    Book title : Learn C++ Programming
    Book author : Chand Miyan
    Book subject : C++ Programming
    Book id : 6495407
    Book title : Telecom Billing
    Book author : Yakit Singha
    Book subject : Telecom
    Book id : 6495700

    The typedef Keyword

    There is an easier way to define structs or you could “alias” types you create. For example:

    typedef struct
    {
       char  title[50];
       char  author[50];
       char  subject[100];
       int   book_id;
    }Books;

     

    Now, you can use Books directly to define variables of Books type without using struct keyword. Following is the example:

    Books Book1, Book2;

    You can use typedef keyword for non-structs as well as follows:

    typedef long int *pint32;

    pint32 x, y, z;

    x, y and z are all pointers to long ints

     

    Prev C++ Date and Time
    Next C++ Classes and Objects
    • Description
    • Curriculum
    • Instructors
    • Reviews (0)

    C++ is a general-purpose programming language. It has imperative, object-oriented and generic programming features, while also providing facilities for low-level memory manipulation.

    C++ was developed by Bjarne Stroustrup at Bell Labs since 1979, as an extension of the C language as he wanted an efficient and flexible language similar to C, which also provided high-level features for program organization.

    It was designed with a bias toward system programming and embedded, resource-constrained and large systems, with performance, efficiency and flexibility of use as its design highlights. C++ has also been found useful in many other contexts, with key strengths being software infrastructure and resource-constrained applications, including desktop applications, servers (e.g. e-commerce, web search or SQL servers), and performance-critical applications (e.g. telephone switches or space probes).C++ is a compiled language, with implementations of it available on many platforms and provided by various organizations, including the Free Software Foundation (FSF’s GCC), LLVM, Microsoft, Intel and IBM.

    Course Features

    • Lectures 19
    • Quizzes 0
    • Duration 15 hours
    • Skill level All levels
    • Language English
    • Students 20
    • Certificate No
    • Assessments Self
    • Share:
      • Lecture1.1
        C++ Programming Tutorial
        0m
      • Lecture1.2
        C++ Overview
        0m
      • Lecture1.3
        C++ Environment Setup
        0m
      • Lecture1.4
        C++ Basic Syntax
        0m
      • Lecture1.5
        C++ Character Sets
        0m
      • Lecture1.6
        C++ Expressions and Operators
        0m
      • Lecture1.7
        C++ If & Switch Statement
        0m
      • Lecture1.8
        C++ Loops(for,while,do-while)
        0m
      • Lecture1.9
        C++ Arrays
        0m
      • Lecture1.10
        C++ Functions
        0m
      • Lecture1.11
        C++ Strings
        0m
      • Lecture1.12
        C++ Pointers
        0m
      • Lecture1.13
        C++ Date and Time
        0m
      • Lecture1.14
        C++ Data Structures
        0m
      • Lecture1.15
        C++ Classes and Objects
        0m
      • Lecture1.16
        C++ Inheritence
        0m
      • Lecture1.17
        C++ Operator Overloading
        0m
      • Lecture1.18
        C++ Data Encapsulation
        0m
      • Lecture1.19
        C++ Polymorphism
        0m
    mahethekiller

    Reviews

    Average Rating

    0
    0 rating

    Detailed Rating

    5 stars
    0
    4 stars
    0
    3 stars
    0
    2 stars
    0
    1 star
    0

    You May Like

    8051 Micro-controller Read More
    mahethekiller

    8051 Micro-controller

    50
    0
    Free
    C Programming Read More
    mahethekiller

    C Programming

    0
    0
    Free
    SQL Programming Read More
    mahethekiller

    SQL Programming

    0
    0
    Free

    Leave A Reply Cancel reply

    Your email address will not be published. Required fields are marked *

    Latest Courses

    8051 Micro-controller

    8051 Micro-controller

    Free
    Javascript Programming

    Javascript Programming

    Free
    C ++ Programming

    C ++ Programming

    Free

    Recent Posts

    • How to Create a Basic CRUD application Using PHP and MySql
    • Login And Logout Script using PHP Sessions
    • How to Upload an image using Ajax and PHP

    Courses

    • HTML
    • CSS
    • Javascript
    • PHP

    Advanced

    • SQL
    • C Programming
    • C++ Programming
    • 8051 Microcontroller

    Links

    • Home
    • Blog
    • Courses

    Webclasses