Bird
Raised Fist0
C++programming~5 mins

Defining structures in C++

Choose your learning style10 modes available
Introduction

Structures help you group related data together in one place. This makes your program easier to understand and use.

When you want to store information about a person, like name, age, and height.
When you need to keep details about a book, such as title, author, and pages.
When you want to organize data about a point in 2D space with x and y coordinates.
When you want to pass multiple related values to a function as one unit.
Syntax
C++
struct StructureName {
    dataType member1;
    dataType member2;
    // more members
};
Use struct keyword to define a structure.
Members inside a structure can be of different data types.
Examples
This defines a structure named Person with two members: name and age.
C++
struct Person {
    string name;
    int age;
};
This defines a Point structure to hold coordinates.
C++
struct Point {
    double x;
    double y;
};
This structure holds information about a book.
C++
struct Book {
    string title;
    string author;
    int pages;
};
Sample Program

This program defines a Person structure, creates a variable p1, sets its members, and prints them.

C++
#include <iostream>
#include <string>
using namespace std;

struct Person {
    string name;
    int age;
};

int main() {
    Person p1;
    p1.name = "Alice";
    p1.age = 30;

    cout << "Name: " << p1.name << "\n";
    cout << "Age: " << p1.age << "\n";
    return 0;
}
OutputSuccess
Important Notes

Remember to end the structure definition with a semicolon ;.

You can create many variables of the structure type to hold different data.

Structures help keep related data organized and easy to manage.

Summary

Structures group related data under one name.

Use struct keyword to define them.

Access members using the dot . operator.

Practice

(1/5)
1. What is the purpose of a struct in C++?
easy
A. To group related variables under one name
B. To create a loop structure
C. To define a function
D. To allocate memory dynamically

Solution

  1. Step 1: Understand the role of struct

    A struct is used to group different variables together under one name, making it easier to manage related data.
  2. Step 2: Compare with other options

    Options A, C, and D describe loops, functions, and memory allocation, which are unrelated to struct.
  3. Final Answer:

    To group related variables under one name -> Option A
  4. Quick Check:

    Struct groups data = B [OK]
Hint: Remember: struct bundles variables like a box [OK]
Common Mistakes:
  • Confusing struct with functions
  • Thinking struct creates loops
  • Mixing struct with dynamic memory
2. Which of the following is the correct way to define a structure named Person with members name (string) and age (int)?
easy
A. struct Person = { string name; int age; };
B. struct Person ( string name; int age; );
C. struct Person { string name; int age; };
D. struct Person: string name; int age;

Solution

  1. Step 1: Recall correct struct syntax

    In C++, a struct is defined using curly braces { } with members inside, ending with a semicolon.
  2. Step 2: Check each option

    struct Person { string name; int age; }; uses correct syntax with braces and semicolon. Options B, C, and D use incorrect symbols or missing braces.
  3. Final Answer:

    struct Person { string name; int age; }; -> Option C
  4. Quick Check:

    Struct uses braces and semicolon = A [OK]
Hint: Use braces { } and end with semicolon ; [OK]
Common Mistakes:
  • Using parentheses instead of braces
  • Omitting the semicolon after struct
  • Using equal sign or colon wrongly
3. What will be the output of this code?
struct Point { int x; int y; };
int main() {
  Point p = {3, 4};
  std::cout << p.x << "," << p.y << std::endl;
  return 0;
}
medium
A. 3,4
B. 4,3
C. x,y
D. Compilation error

Solution

  1. Step 1: Understand struct initialization

    The struct Point is initialized with {3, 4}, so p.x = 3 and p.y = 4.
  2. Step 2: Check output statement

    The code prints p.x then a comma, then p.y, so output is "3,4".
  3. Final Answer:

    3,4 -> Option A
  4. Quick Check:

    p.x=3 and p.y=4 prints 3,4 [OK]
Hint: Struct members print in order assigned [OK]
Common Mistakes:
  • Swapping member values
  • Expecting member names to print
  • Thinking initialization causes error
4. Identify the error in this structure definition:
struct Car {
  string model
  int year;
};
medium
A. Cannot have string type in struct
B. Missing semicolon after Car struct
C. Wrong keyword used instead of struct
D. Missing semicolon after model member

Solution

  1. Step 1: Check member declarations

    Each member must end with a semicolon. The model member is missing a semicolon.
  2. Step 2: Verify struct ending

    The struct ends with a semicolon, which is correct. The keyword struct is correct. String type is allowed.
  3. Final Answer:

    Missing semicolon after model member -> Option D
  4. Quick Check:

    Each member needs ; = A [OK]
Hint: Check each member line ends with ; [OK]
Common Mistakes:
  • Forgetting semicolon after members
  • Confusing struct end semicolon with member semicolon
  • Thinking string is invalid type
5. Given the structure:
struct Employee {
  string name;
  int id;
  double salary;
};

Which code correctly creates an Employee variable and sets the salary to 50000.0?
hard
A. Employee e; e.salary = 50000.0;
B. All of the above
C. Employee e = {"John", 101, 50000.0};
D. Employee e = {"John", 101}; e.salary = 50000.0;

Solution

  1. Step 1: Check each option for valid struct usage

    Employee e; e.salary = 50000.0; creates an Employee and sets salary directly, which is valid.
  2. Step 2: Analyze options B and C

    Employee e = {"John", 101}; e.salary = 50000.0; initializes name and id, then sets salary separately, valid. Employee e = {"John", 101, 50000.0}; initializes all members at once, also valid.
  3. Step 3: Confirm all options are correct

    All three ways correctly create and set salary.
  4. Final Answer:

    All of the above -> Option B
  5. Quick Check:

    Multiple valid ways to set struct members = D [OK]
Hint: Struct members can be set during or after creation [OK]
Common Mistakes:
  • Thinking partial initialization is invalid
  • Assuming only one correct way to assign members
  • Forgetting to set salary after partial init
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard