Joã*_*ves 14 c struct initialization return ansi
我只想知道我是否可以做那样的事......
typedef struct Result{
int low, high, sum;
} Result;
Result test(){
return {.low = 0, .high = 100, .sum = 150};
}
Run Code Online (Sandbox Code Playgroud)
我知道这是错误的方式,但我可以这样做,还是我需要创建一个局部变量来接收值然后返回它?
oua*_*uah 25
您可以使用复合文字来完成此操作:
Result test(void)
{
return (Result) {.low = 0, .high = 100, .sum = 150};
}
Run Code Online (Sandbox Code Playgroud)
(){} 是复合文字运算符,复合文字是c99中引入的一个特性.
| 归档时间: |
|
| 查看次数: |
3726 次 |
| 最近记录: |