C-如何将指针值返回给main?

伦科普斯

我有这个作业,要求我使用动态分配创建堆栈并在其中添加一些不同的功能。现在,通常我会将头指针用作全局变量并使事情变得更容易,但是作业要求我将头指针作为函数的参数,因此我在main中将其设置为局部变量。这是代码:

#include <stdio.h>
#include <stdlib.h>

typedef struct node {
    int val;
    struct node * next;
} node;

void push(int val, node *head) {
    node* temp = (node*) malloc(sizeof(node));
    node* current = head;
    temp->val = val;
    if (head == NULL) {
        head = temp;
        temp->next = NULL;
    }
    else {
        while (current->next != NULL) {
            current = current->next;
        }
        current->next = temp;
        temp->next = NULL;
    }
}

void print(node *head) {
    node* current = head;
    if (current->next != NULL) {
        while (current->next != NULL) {
            printf("%d", current->val);
            current = current->next;
        }
    }
    else {
        printf("%d", current->val);
    }
}

int main() {
    node * head = NULL;
    int n;
    scanf("%d", &n);
    push(n, head);
    print(head);
    push(n, head);
    print(head);
    push(n, head);
    print(head);
}

我在第一个print(head)函数说时遇到了段错误print(head = 0x0),这使我相信head在main中返回时不会更新。printf()在执行第一个push函数后,我使用了for头,对了,头返回0问题是:如何在函数中返回更新的头部?

Slnowak

您可以像这样声明您的函数

void push(int val, node **head)

然后传递您的头部参考并对其进行修改

或者

node *push(int val, node *head)

并返回新的头。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C:如何将多个值从函数返回到main

来自分类Dev

C语言如何将指针从函数返回到指针

来自分类Dev

如何将值传递给指针参数C ++

来自分类Dev

如何将数组从函数“返回”到c中的main

来自分类Dev

如何将返回指针从C ++ dll函数返回到C#

来自分类Dev

C-如何将指针值复制到非指针中

来自分类Dev

我如何将C指针指向v8 :: object的值

来自分类Dev

如何创建通用函数,该函数将返回c ++中任何级别的指针的值?

来自分类Dev

如何将双指针从C ++传递到C#

来自分类Dev

C#如何将未知值变量(用户输入)传递给返回方法

来自分类Dev

C ++指针返回0值

来自分类Dev

如何将参数绑定到C函数指针?

来自分类Dev

C ++如何将字符串转换为指针?

来自分类Dev

如何将C ++指针传递给Fortran?

来自分类Dev

C ++如何将数组理解为指针的观点?

来自分类Dev

如何将“ this”指针传递给C ++ WinAPI线程?

来自分类Dev

C指针,了解如何将数组传递给函数

来自分类Dev

C ++如何将“ this”传递给指针引用

来自分类Dev

C ++如何将字符串转换为指针?

来自分类Dev

如何将参数传递给C中的函数指针?

来自分类Dev

如何将 C++ 指针导出到 lua?

来自分类Dev

C ++如何将智能指针传递到将修改指针的输出参数中

来自分类Dev

如何将结构值传递到我的打印函数中,然后在main中调用它?-C语言

来自分类Dev

如何将类从C ++代码返回到C#

来自分类Dev

MEX:如何将矩阵从C ++ / C返回到MATLAB

来自分类Dev

c#如何将变量从方法传递到main?

来自分类Dev

C ++如何使用指针将向量的值相乘?

来自分类Dev

C语言如何返回指针

来自分类Dev

如何将返回值附加到c#中3个线程的单个复杂变量中?

Related 相关文章

热门标签

归档