Tag: 变量赋值

C数组声明和赋值?

我在这里问了一个关于结构的类似问题,但是我试图弄清楚C如何处理分配变量的事情,以及如果它们在function上相同的话,不允许将它们分配给彼此的原因。 可以说我有两个数组: int x[10]; int y[10]; 为什么x = y不能编译? 如果它们都是相同的“签名”,那么你不应该来回分配它们吗? 我是否可以通过允许我在C中执行此操作的方式声明这些内容? 你能够做到这一点对我有意义,但也许有办法可以做到这一点? 结构的Typedef似乎是解决方案,它对于数组声明和赋值是否相同? 我感谢你们的帮助,我是Stackoverflow的新手,但到目前为止它对我来说是一个非常好的资源!

在char中为char数组赋值

有什么区别: char fast_car[15]=”Bugatti”; 和 char fast_car[15]; fast_car=”Bugatti”; 因为第二个导致编译错误: 错误:从类型’char *’分配类型’char [15]’时出现不兼容的类型 虽然第一个工作正常。 将数组中的字符串放在与数组初始化不同的位置会很有帮助。

数组类型 – 指定/用作函数参数的规则

当我需要将一个数组传递给一个函数时,似乎所有以下函数声明都可以工作 void f(int arr[]) void f(int arr[4]) // is this one correct? 为了这: int a[]={1,2,3,4}; f(a); 但是当我将一个数组分配给另一个数组时,它就失败了 int a[]={1,2,3,4}; int b[4] = a; // error: array must be initialized with a brace-enclosed initializer 那么为什么作为函数的参数传递的数组是可以的,但是在简单赋值的rhs上使用是错误的?