struct node{
int data;
struct node * next;
};
How does the compiler allocate memory for "next" member in when we have not yet allocated memory for the structure "struct node"
struct node{
int data;
struct node * next;
};
How does the compiler allocate memory for "next" member in when we have not yet allocated memory for the structure "struct node"
Next is only a pointer so it is a fixed size value in every machine, it'll just add int+pointer sizes + padding and allocate node struct
The member next is a pointer. Pointers are all the same size, so the compiler does not need to know how big the thing that next may point to is.
next
member is a pointer - a variable that will contain an address of node
, not node
itself. All data type pointers are usually of the same size so it's enough for the compiler to know that it's a pointer to be able to compute its size.