起因 在做项目时,遇到了一连串整形数字,我想将作为标量,并赋于指针。 实践 测试如下代码 struct A { int len; int *p; }; struct A a={3,{1,2,3}}; 编译会出现失败 gcc warning: braces around scalar initializer 深入 搜索之后,发现这个应该是个人理解的问题。 可以如下 struct A a={3,(int []){1,2,3}}; 参考 stackoverflow Compound literals