There is an answer in Creating a linked list without declaring node as a pointer. But I wanted to know if there were any other reasons due to which you can't create nodes as pointers, just so, to be clear.
One of the reasons is that the scope of the new nodes will die outside the function-Is there no way you can solve this problem?, and Is there any other reason?