arrays - 在 C 中,如何“直接”将结构复制到数组成员?
问题描述
所以我想这样做:
struct element{
int t;
};
int main(int argc, char *argv[]) {
struct element arr[10];
arr[0]={3};
return 0;
}
但这给了我以下错误:
test.c: In function ‘main’:
test.c:7:10: error: expected expression before ‘{’ token
7 | arr[0]={3};
| ^
为了解决这个问题,我将不得不求助于写作:
int main(int argc, char *argv[]) {
struct element arr[10];
struct element tmp = {3};
arr[0]= tmp;
return 0;
}
但是我认为当我只想直接分配给element{3}
. 如何修复语法以便不需要创建此tmp
值?
解决方案
你想要的是一个复合文字:
arr[0]=(struct element){3};
推荐阅读
- ios - 选择新的 UITableViewCell 时停止 AVPlayer 视频
- python - Turbogears:过滤对象的重复控制器方法
- r - 具有分类 X 轴的箱线图图例的坐标
- python - 无法使用 pip for python 3.9(32 位)安装 pyodbc
- php - 限制对包含上下文的访问 - Blade,php
- wso2 - 有没有办法从应用程序(SP)端结束 WSO2 身份服务器用户会话。有没有端点可以做到这一点?
- pytorch - 围绕另一个 pytorch 模型构建一个 pytorch 模型
- typescript - 从外部组件调用方法 - VueJS & TS
- postgresql - PostgreSQL 13:GIN 条目元组中项目不匹配的错误数,元组标头中的 2 个,解码的 19 个
- java - Apache骆驼抛出致命错误:1:1:序言中不允许内容