C 数组和指针,当我给数组提供新地址时会发生什么?

标签 c

所以我有两个字符数组:

char results[80];
char *copy = "blah";

当我说??时会发生什么:

results = copy;

最佳答案

这违反了约束条件,因为您无法使用 = 运算符重新分配数组。因此,如果您费心try this simple experiment (下面的代码),您会注意到您会收到如下所示的错误消息:

prog.c:6:13: error: assignment to expression with array type
<小时/>
int main(void) {
    char results[80];
    char *copy = "blah";
    results = copy;
    return 0;
}

关于C 数组和指针,当我给数组提供新地址时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42408292/

相关文章:

c - 变量 "numbers"周围运行时检查失败 #2-stack

c - 需要增加左值中的数组结果吗?

char 数组分组在一个数组中

c - 如何将结构传递给 yacc 文件中的函数?

c - C如何返回一个结构?

c - 获取结构内部变量的偏移量是基于 NULL 指针,但为什么呢?

c - 是否可以在预处理器期间检查之前(在头文件中)是否定义了结构?

c - C语言预处理器的复杂语法

C:将最小 32 位整数 (-2147483648) 转换为 float 给出正数 (2147483648.0)

c - Keil uVision v.5.12.0.0 中的构建问题