c - 我可以转换成结构吗?
问题描述
编辑- 问题在评论中得到回答。
我一直在浏览cppreference.com
并找到一段代码,并在对其进行了一些详细说明后得到以下结果:
#include <stdio.h>
struct T { double a[4] };
struct T f(void) { return (struct T){3.15}; } //Is that casting into struct T??
//But isn't casting into non-scalar not possible?
int main (void)
{
double d = *f().a; //What?
printf("%f\n", d);
}
与该主题相关的问题与第一条评论一致。我有点明白发生了什么(我猜),但语法对我来说不清楚 - 有人可以详细说明一下吗?
附加问题(如果可能有两个)是关于第二条注释的行 - 所以,我可以像在表达式中一样使用函数的返回值,就像在给定的例子中一样?
解决方案
推荐阅读
- javascript - 如何使用javascript和css边距垂直和水平居中div?
- json - 使用嵌套对象解析 json 文件
- asp.net - 主属性不是在 aspx 设计器中自动生成导致运行时错误
- master-theorem - 主定理 f(n) = cn^k
- .net-core - openCover 报告意外的低覆盖率
- python - 在 Django 中替换视图类的视图函数
- c++ - 关于使用声明 c++ 的规则
- java - 同时从不同线程调用类或结构的不同方法是否线程安全?(C++ 和 Java)
- html - 当右侧元素是居中对齐的多行文本时,如何删除并排元素之间的额外空间?
- firefox - Firefox 无法下载文件