首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >返回本地结构?

返回本地结构?
EN

Stack Overflow用户
提问于 2016-04-26 09:10:14
回答 3查看 137关注 0票数 4
代码语言:javascript
代码运行次数:0
运行
复制
I have a code:

struct point makepoint(int x, int y)
{
     struct point temp;
     temp.x = x;
     temp.y = y;
     return temp;
}

我们在这里有问题吗,因为我们正在返回局部结构,在makepoint函数终止后,它不是被破坏了吗?这段代码来自于书本。

C编程语言(第二版),Brian W. Kernighan·Dennis M. Ritchie

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-04-26 09:15:01

在C中,值是到处传递的,所以在您所做的工作中,不会出现问题。

执行返回时,将返回变量temp的值。即使变量在函数返回后被销毁,也不会出现问题。

票数 2
EN

Stack Overflow用户

发布于 2016-04-26 09:14:04

temp是一个具有自动存储的变量,因此,在函数返回时,它将不再可用。

但是,函数返回的结构不是temp,而是temp的副本。因此,答案是没有函数返回一个结构的问题。

票数 2
EN

Stack Overflow用户

发布于 2016-04-26 09:32:00

与数组不同,结构在作为参数传递或返回时会被复制,就像原始类型(int)一样。

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

https://stackoverflow.com/questions/36860373

复制
相关文章

相似问题

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