c - 用指针制作一个简单的整数列表
问题描述
我正在尝试创建一个用节点制作的基本积分列表(我还应该指出我正在通过做这个练习来学习指针)
typedef struct Node {
int data;
struct Node *next;
} Node;
但这似乎不起作用。每次我尝试打印列表时,它都会显示随机值这是我的代码:
Node *head = NULL; // The head of the list - global
void push(int d) {
Node newNode;
if (head == NULL)
{
printf("In\n");
head = &newNode;
(*head).data = d;
}
else
{
printf("In2");
newNode.next = head;
head = &newNode;
}
void printList() {
while (head != NULL)
{
printf("In while\n");
printf("%d",(*head).data);
head = head->next;
}
}
push(1);
例如,当我尝试这样做时:printList()
我得到:263958281
或任何其他随机值。有谁知道为什么?
PS:如果我尝试这样做:
push(1);
push(2);
printList();
我理想的输出是:
2 1
解决方案
推荐阅读
- javascript - 将数据保存到 sharedPreference android 并读取 react native
- flutter - 在 dispose 方法中获取提供程序方法不起作用
- java - 我们如何在 birt 预览之前调用 Rest Service
- android - 当我将回收站视图滚动到顶部时,回收站视图项目消失
- amazon-web-services - AWS Redshift 查询过长异常
- c - avx 程序 (Linux) 上的分段错误(核心转储)
- swift - 为什么objectWillChange没有效果
- python - 有没有更快的方法来解析这个文本文件?
- postgresql - 使用 Postgresql,计算长度大于 5 的表中的连续数字
- java - 有效负载文档大小大于最大值 16793600