相关疑难解决方法(0)

C中的Char数组声明和初始化

我很好奇为什么在C中不允许这样做:

char myarray[4];

myarray = "abc";
Run Code Online (Sandbox Code Playgroud)

这是允许的:

char myarray[4] = "abc";
Run Code Online (Sandbox Code Playgroud)

我知道在第一种情况下我应该使用strcpy:

char myarray[4];

strcpy(myarray, "abc");
Run Code Online (Sandbox Code Playgroud)

但是为什么不允许声明和后来的初始化,允许声明和同步初始化?它与C程序的内存映射有关吗?

谢谢!

c arrays char

21
推荐指数
1
解决办法
13万
查看次数

简单的C数组声明/赋值问题

在更高级别的语言中,我将能够在C中使用类似于此示例的内容,并且它会很好.但是,当我编译这个C例子时,它会痛苦地抱怨.如何将新数组分配给我声明的数组?

int values[3];

if(1)
   values = {1,2,3};

printf("%i", values[0]);
Run Code Online (Sandbox Code Playgroud)

谢谢.

c arrays declaration variable-assignment

7
推荐指数
3
解决办法
4万
查看次数

标签 统计

arrays ×2

c ×2

char ×1

declaration ×1

variable-assignment ×1