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"
From stackoverflow
-
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.
Christopher : In other words, the compiler allocates enough space for "next" to store the pointer to node in the node structure. To actually use "next" you must make another allocation call to fill the next structure. -
next
member is a pointer - a variable that will contain an address ofnode
, notnode
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.
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.