首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pop函数解释

Pop函数解释
EN

Stack Overflow用户
提问于 2014-04-28 01:27:41
回答 3查看 172关注 0票数 1

我有一些推和弹出的代码,我正在试图理解,并有一个关于pop函数的问题。

这是节点结构:

代码语言:javascript
复制
struct NODE
{
    int dataitem;
    struct NODE *link;
};

这是pop功能:

代码语言:javascript
复制
struct NODE* PopD(struct NODE *SP, int *Data)
{
    struct NODE *temp;

    temp = SP;
    *Data = temp->dataitem;
    temp = temp->link;
    free(SP);

    return temp;
}

所以我的问题是,这一行是做什么的:*Data = temp->dataitem;

为什么在稍后的方法中不使用dataitem值时将它带入Data中?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-04-28 01:34:05

数据通过Data参数返回。返回值用于更新堆栈指针。据推测,该代码应该是这样使用的:

代码语言:javascript
复制
struct NODE *stack = NULL;

// push some items
// ...

// pop one
int data;
stack = PopD(stack, &data);
printf("%d\n", data);
票数 1
EN

Stack Overflow用户

发布于 2014-04-28 01:33:44

调用此函数的人将传入一个指向整数的指针--期望该整数被堆栈中最上面的整数填充。

代码语言:javascript
复制
int x;
stack = PopD(stack, &x);
printf("Top of stack was %d\n", x);
票数 1
EN

Stack Overflow用户

发布于 2014-04-28 01:31:25

当弹出堆栈的顶部项时,将通过输出参数返回堆栈顶部包含的值。

它可能对调用函数很有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23331193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档