c - 在c中使用链表通过引用传递问题
问题描述
我正在尝试创建一个新节点并将其添加到我的链接列表中,但是在函数内部我可以为新节点中的数据提供正确的值并将其分配给列表的头部,但回到 main 中,它不是保持价值。
主要的:
insertStart(&list, &displayNum);
displayNum = 0;
printUI(keypad, displayNum, total);
result = 0;
printf("Node value outside of function: %d\n",*(list.head->data));
功能:
void insertStart(LinkedList * list, int* calcData)
{
LinkedListNode* newNode;
newNode = (LinkedListNode*)malloc(sizeof(LinkedListNode));
newNode->data = calcData;
newNode->next = list->head;
list->head = newNode;
printf("Node value inside function: %d\n", *(list->head->data));
}
因此,当我在函数内打印值时,它是正确的;但是,它主要是 0。你能解释一下我做错了什么吗?
解决方案
推荐阅读
- java - packagename.activity 不能分配给 AndroidManifest.xml 中的“android.app.Activity”
- typescript - 如何修复“类型的参数......不可分配给类型的参数......”错误?
- c - 创建文件,使用 lseek() 移动 1MB,然后将一个字节写入文件
- awk - 如何将文件中的数字添加到计算中?
- r - 为什么不应该重建缓存?
- ruby-on-rails - rails中的json自动完成错误的url
- php - 使用 WHERE 语句在循环中插入 INTO 表(以填充外键列)
- list - 如何在 make 运行中构建变量列表并将其用于后处理
- java - 如何从 docker 容器内的 java/spring-boot 项目运行 python 脚本(并接收输出)?
- java - 如何在 View Pager 中设置当前项目