回答
您不能分配数组在C您可以用memcpy()
功能复制它们,在<string.h>
声明:
int a[3];
int b[] = {1,2,3};
memcpy(&a, &b, sizeof a);
这样是不行的,因为你已经找到。您不能在C中分配数组。
但是,结构是可分配的。所以,你可以这样做:
typedef struct
{
int x[3];
} T;
T a;
T b = { { 1, 2, 3 } };
a = b;
由于这是直的,没有任何功能做这份工作,所以我不必重写很多代码。 – Starfighter911
'a = b'是多少代码? –
好吧,我试过这个:'T a []; T b [] = {{1,2,3}}; a = b;',它仍然不起作用。输出:“表达式不是左值”。 – Starfighter911
- 1. 为什么“int a,b;”而“int c = a-b”在我给“a”和“b”赋值时不工作?
- 2. 为什么我不能在c#中为这个数组赋值?
- 3. 为什么“a + + b”有效,但“a ++ b”不能?
- 4. 为什么我不能将数组赋给pandas DataFrame列?
- 5. 为什么我不能使用| a,b |而不是|(a,b)|在arr.map {|(a,b)|中!b.nil? ? a + b:a}?
- 6. 为什么“a &&(b = 5/a)”将“5/a”分配给“b”?
- 7. 为什么我不能在此代码中将A *转换为B *?
- 8. 为什么我不能为我的常量字段赋值?
- 9. 为什么我不能分配@b ||在Perl中@c到@a?
- 10. 为什么我不能将值赋给基类的成员?
- 11. 为什么a.compareTo(b)等于compareTo(a,b)或a.method(b)= method(a,b)?
- 12. 为什么(A - B)。^ 2在MATLAB中不等于(B - A)。^ 2?
- 13. 理解为什么A/B不工作,但fromInteger A/fromInteger B则
- 14. 为什么我不能为测量<UnitMass>变量赋值?
- 15. 为什么“numpy.random.random((a,b))”不起作用?
- 16. 为什么a,b = 1不允许?
- 17. 如何将A * A std ::数组拆分为B * B的块?
- 18. 为什么我不能投向B *?
- 19. vector.push_back(B)和vector.push_back(new A((* B))),为什么行为不一样?
- 20. 为什么元组赋值失败?
- 21. 为什么有A = A +之间的差异B和A + = B
- 22. 为什么fold会预期(a - > b - > a)而不是(b - > a - > a)?
- 23. 为什么的Equals [A <: B >:B,B]不编译
- 24. 为什么我的数组中没有赋值的值?
- 25. 为什么我不能使用{“a”,“b”}作为字符串数组方法参数的输入
- 26. 多个赋值var a = b = b || {}在JavaScript
- 27. 为什么将一个数组赋值为null会创建一个空数组?
- 28. 为什么Numpy会以不同的方式处理a + = b和a = a + b
- 29. 为什么我不能使用三元运算符为小数赋值?
- 30. 为什么我不能json_decode数组?
好的thx,这就是我搜索的东西。 – Starfighter911
@Jonathan Leffler:'&array'是一个有意的选择 - 复制单个对象(这里是一个单一的数组)时,我认为应该首选'memcpy(&dest,&src,sizeof src)'形式(或'sizeof dest' - 他们应该是一样的)。这是为了保持一致性 - 如果'a'和'b'的类型是非数组类型,那么相同的'memcpy()'行将起作用。你可能不同意,但希望你能看到选择背后肯定存在“判断”。 – caf
不是'&a'指向数组的指针吗? – weberc2