首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C语言标准中生命周期规则的解释

C语言标准中生命周期规则的解释
EN

Stack Overflow用户
提问于 2019-06-13 15:29:20
回答 3查看 1.8K关注 0票数 6

我正在为练习编写一个C编译器(以llvm作为后端),the C11 standard §6.2.4遵循这些规则。

在阅读“对象的存储持续时间”部分时,有一个案例让我感到困惑:

?8具有结构或联合类型的非左值表达式,其中结构或联合包含具有数组类型的成员(递归地包括所有包含的结构和联合的成员)引用具有自动存储持续时间和临时生存期的对象。它的生存期从计算表达式时开始,其初始值是表达式的值。当包含完整表达式或完整声明符的计算结束时,它的生存期结束。任何试图修改具有临时生存期的对象的行为都会导致未定义的行为。

我不能想象这个案例讨论的情况是什么,特别是数组成员部分(都是具有临时生命周期的非左值,带有数组成员的结构与普通的非左值有什么不同吗?)谁能给我一个代码示例来说明这一点?

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

https://stackoverflow.com/questions/56575413

复制
相关文章

相似问题

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