我正在尝试在 C 中使用一个简单的链表,但我遇到了一些麻烦。 我创建了一个结构节点
struct node{
int value;
struct node *next;
};
并写下主要代码
struct node *root;
struct node *conductor;
root = (struct node *)malloc(sizeof(struct node));
root->next = 0;
conductor = root;
root->value = 1;
if ((root->value) == 1)
LED_GREEN = 1;
//LED_GREEN = 1;
我在嵌入式系统上运行它,只是比较根节点的值。我希望 LED 会亮起,但事实并非如此。任何人都知道为什么这没有按预期工作?
最佳答案
我自己解决了这个问题,但当我发布解决方案时,它可能对类似的问题有帮助。通过更改我的 IDE 的项目选项中的堆大小解决了这个问题。大小设置为 0,因此 malloc 无法分配内存。
关于c - 链表的意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34899320/