Bird
Raised Fist0
Cprogramming~10 mins

Defining structures - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to define a structure named Person.

C
struct [1] {
    char name[50];
    int age;
};
Drag options to blanks, or click blank then click option'
APerson
Bperson
CData
DInfo
Attempts:
3 left
💡 Hint
Common Mistakes
Using lowercase or unrelated names for the structure.
Forgetting to name the structure.
2fill in blank
medium

Complete the code to declare a variable of the structure type.

C
struct Person [1];
Drag options to blanks, or click blank then click option'
Avar1
Bp1
Cperson1
DPerson1
Attempts:
3 left
💡 Hint
Common Mistakes
Using the structure name as the variable name.
Using uppercase letters at the start of variable names.
3fill in blank
hard

Fix the error in the structure definition by completing the missing keyword.

C
[1] struct {
    char name[50];
    int age;
} Person;
Drag options to blanks, or click blank then click option'
Adeclare
Bdefine
Cstruct
Dtypedef
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'define' or 'declare' which are not valid keywords here.
Repeating 'struct' unnecessarily.
4fill in blank
hard

Fill both blanks to define and declare a structure variable with typedef.

C
[1] struct Person {
    char name[50];
    int age;
} [2] person1;
Drag options to blanks, or click blank then click option'
Atypedef
BPerson
Cperson1
Dstruct
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'struct' instead of 'typedef' in the first blank.
Using a variable name (like 'person1') instead of the alias name ('Person') in the second blank.
5fill in blank
hard

Fill all three blanks to create a typedef for struct Person and declare a variable.

C
[1] struct Person {
    char name[50];
    int age;
} [2];

[3] p;
Drag options to blanks, or click blank then click option'
Atypedef
BPerson
Dstruct
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'struct' instead of 'typedef' in the first blank.
Using 'struct' instead of the alias in the third blank.
Confusing the alias and variable names.

Practice

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

Solution

  1. Step 1: Understand the role of struct

    The struct keyword is used to group variables of different types into a single unit.
  2. Step 2: Compare with other options

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

    To group different data types under one name -> Option C
  4. Quick Check:

    struct groups data types = D [OK]
Hint: Remember: struct bundles variables like a box [OK]
Common Mistakes:
  • Confusing struct with loops or functions
  • Thinking struct allocates memory dynamically
  • Assuming struct defines a single data type only
2. Which of the following is the correct syntax to define a structure named Person with members int age and char name[20]?
easy
A. struct Person { int age; char name[20]; };
B. struct Person ( int age; char name[20]; );
C. struct Person = { int age; char name[20]; };
D. struct Person: int age; char name[20];

Solution

  1. Step 1: Recall correct struct syntax

    Structures are defined using curly braces { } with semicolons after each member.
  2. Step 2: Check each option

    struct Person { int age; char name[20]; }; uses correct braces and semicolons. Options B, C, and D use incorrect symbols or missing braces.
  3. Final Answer:

    struct Person { int age; char name[20]; }; -> Option A
  4. Quick Check:

    Correct struct syntax uses braces and semicolons = A [OK]
Hint: Use braces { } and semicolons ; inside struct [OK]
Common Mistakes:
  • Using parentheses instead of braces
  • Missing semicolons after members
  • Using equal sign or colon incorrectly
3. What will be the output of the following code?
struct Point { int x; int y; } p = {3, 4};
printf("%d %d", p.x, p.y);
medium
A. 0 0
B. 3 4
C. 4 3
D. Compilation error

Solution

  1. Step 1: Understand struct initialization

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

    The printf prints p.x and p.y in order, so output is "3 4".
  3. Final Answer:

    3 4 -> Option B
  4. Quick Check:

    p.x=3 and p.y=4 prints as "3 4" [OK]
Hint: Struct members print in order of initialization [OK]
Common Mistakes:
  • Mixing order of members in output
  • Assuming default zero values
  • Thinking code causes compilation error
4. Identify the error in the following code snippet:
struct Car {
  int speed;
  char model[10];
};

struct Car c;
c.speed = 100;
c.model = "Sedan";
medium
A. Cannot assign string directly to array member
B. Missing semicolon after struct definition
C. Incorrect struct keyword usage
D. Variable c not declared

Solution

  1. Step 1: Check struct definition and declaration

    The struct is correctly defined and variable c declared.
  2. Step 2: Analyze assignment to c.model

    Arrays cannot be assigned directly with = operator; string copy functions like strcpy are needed.
  3. Final Answer:

    Cannot assign string directly to array member -> Option A
  4. Quick Check:

    Array assignment needs strcpy, not = [OK]
Hint: Use strcpy to assign strings to char arrays [OK]
Common Mistakes:
  • Assigning string literals directly to char arrays
  • Forgetting to include string.h for strcpy
  • Assuming semicolon or declaration errors
5. Given the structure definition:
struct Employee {
  int id;
  char name[30];
  float salary;
};

Which of the following code snippets correctly creates an Employee variable and initializes all members in one statement?
hard
A. struct Employee e; e.id = 101; e.name = "Alice"; e.salary = 75000.0;
B. struct Employee e = {id:101, name:"Alice", salary:75000.0};
C. struct Employee e = (101, "Alice", 75000.0);
D. struct Employee e = {101, "Alice", 75000.0};

Solution

  1. Step 1: Check initialization syntax for struct

    Structs can be initialized with braces { } listing values in order of members.
  2. Step 2: Evaluate each option

    struct Employee e = {101, "Alice", 75000.0}; uses correct brace initialization. struct Employee e; e.id = 101; e.name = "Alice"; e.salary = 75000.0; tries to assign string directly to array (invalid). struct Employee e = (101, "Alice", 75000.0); uses parentheses incorrectly. struct Employee e = {id:101, name:"Alice", salary:75000.0}; uses named initialization which is not standard in C.
  3. Final Answer:

    struct Employee e = {101, "Alice", 75000.0}; -> Option D
  4. Quick Check:

    Brace list initialization is correct for structs [OK]
Hint: Use braces with values in order to initialize structs [OK]
Common Mistakes:
  • Assigning strings directly to arrays after declaration
  • Using parentheses instead of braces
  • Trying named member initialization (not standard C)
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