gpt4 book ai didi

c - 为什么数组变量不能指向其他地方?

转载 作者:行者123 更新时间:2023-11-30 19:40:50 25 4
gpt4 key购买 nike

我试图理解为什么数组变量不能指向其他地方?

示例代码:

 char s[] = "How big is it";
const char *t = s;

这是代码,我创建了一个示例数组s[]并为其分配了一个值“它有多大”,现在我创建了一个字符指针数组并为其分配了s地址的值.

现在,当我说这样的话时,编译器会抛出一个错误:

 s=t;      ----> compiler error

这是为什么呢?是因为字符串文字引用会丢失吗?

最佳答案

= 符号在 C 语言中有两种不同的含义:初始化赋值

当您编写 char s[]="How big is it"; 时,您使用字符串文字的字符(包括终止 null)初始化一个新数组。

而且该语言根本不允许对数组进行赋值。无论如何,这都是没有意义的,因为一旦定义,数组就会标识一个内存位置。然后,您只能分配给数组元素或使用在幕后执行此操作的函数(memxx、strxx)。

关于c - 为什么数组变量不能指向其他地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34703403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com