Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

error
storage
size
variable
unknown

How to resolve the "storage size of variable isn't known" error

Educative Answers Team

Take a look at the code in C below that defines struct xyx ​and initializes an object of that struct:

#include <stdio.h>

struct xyx {
    int x;
    int y;
};

int main(void)
{
    struct xyz a;
    a.x = 100;
    printf("%d\n", a.x);
    return 0;
}

Executing the code above gives the error main.c:13:16: storage size of ‘a’ isn’t known.

Have a look at the code again!

In our main, we have created the object a of struct type xyz; however, our struct declaration above had the name xyx.

The compiler is unable to identify the amount of space that needs to be allocated to x because there is no pre-defined or user-defined struct xyz; hence, it gives the error that the storage size of a is not known.

The solution is pretty simple, xyz just needs to be changed to xyx. Take a look at the working code below:

#include <stdio.h>

struct xyx {
    int x;
    int y;
    char c;
    char str[20];
    int arr[2];
};

int main(void)
{
    struct xyx a;
    a.x = 100;
    printf("%d\n", a.x);
    return 0;
}

RELATED TAGS

error
storage
size
variable
unknown
Copyright ©2022 Educative, Inc. All rights reserved
RELATED COURSES

View all Courses

Keep Exploring