Open In App

How to Create a Dynamic Array Inside a Structure?

Last Updated : 19 Mar, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

In C, the structure can store the array data types as one of its members. In this article, we will learn how to create a dynamic array inside a structure in C.

Creating a Dynamic Array Inside a Structure in C

To create a dynamic array inside a structure in C, define a structure that contains a pointer to the array type and a variable to store the size of the array. Then initialize the dynamic array with that size using malloc() to dynamically allocate memory for the array.

Syntax to Create a Dynamic Array Inside a Structure

// Define the structure
struct StructName {
dataType* arrayName;
int size;
};

// In function
StructName variableName;
variableName.arrayName = new dataType[size];
variableName.size = size;


Here,

  • StructName is the name of the structure.
  • dataType is the type of data that the array holds
  • arrayName is the name of the array.
  • variableName is the name of the structure variable.
  • size is the size of the array.

C++ Program to Create a Dynamic Array Inside a Structure

The below program demonstrates how we can create a dynamic array inside a structure in C++.

C
// C Program to illustrate how to create a dynamic array
// inside a structure
#include <stdio.h>
#include <stdlib.h>

// Define the structure
typedef struct myStruct {
    int* myArray;
    int size;
} MyStruct;

int main()
{
    // Define the size of the array
    int size = 5;

    // Create a structure variable
    MyStruct s;

    // Create a dynamic array inside the structure
    s.myArray = (int*)malloc(sizeof(int) * size);
    s.size = size;

    // Initialize the array
    for (int i = 0; i < size; i++) {
        s.myArray[i] = i;
    }

    // Print the array elements
    for (int i = 0; i < size; i++) {
        printf("%d ", s.myArray[i]);
    }

    // Delete the dynamic array
    free(s.myArray);

    return 0;
}

Output
0 1 2 3 4 

Time Complexity: O(N), here N is the size of the array.
Auxiliary Space: O(N)




Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads