好的,这个问题对于菜鸟程序员可能听起来很愚蠢。但是,这个问题真的让我困扰,我希望能得到一个充分的解答。我刚刚开始学习数据结构课程,以下是让我困扰的问题:
假设使用C语言,
//Implementing a node
struct Node
{
int data;
struct *Node;
};
现在,在创建节点时,为什么要使用动态内存分配技术,而使用malloc()。我们不能只创建一个类型为“Struct Node”的变量吗?
即类似于:
struct Node N1;
//First node - actually second where !st Node is assumed to be Head.
struct Node *Head = &N1;
struct Node N2;
N2.(*Node) = &N1;
我的代码可能有些错误,因为我只是一个初学者,对C语言不是很熟悉。但是现在你可能已经理解了我想表达的基本意思。为什么不创建Node类型的变量,并将它们存储在Node类型的数组中以分配内存给新节点,而要涉及到动态内存分配的复杂性呢?