【发布时间】:2020-07-20 18:37:01
【问题描述】:
我对 C 语言还很陌生,并且开始使用指针。我还没有找到将数组分配给多个变量的方法。 理想情况下我想要的是:
char myArray[10] = "test";
char (*p)[10] = &myArray;
char anotherArray[10];
anotherArray = *p;
这不起作用,我不知道为什么。 我找到了一种使用 for 循环“复制”数组的方法,
for (int i = 0; i < 10; i++)
{
anotherArray[i] = myArray[i];
}
我不知道这样做是否是一种好习惯以及是否有更简单的方法。
数组内容不应该改变,所以我只想有一个简单的方法来做到这一点:
firstArr[size] = "content";
secondArr = firstArr;
【问题讨论】:
-
您希望每个变量引用同一个数组/内存,还是您想要同一个数组的多个副本?也就是说,如果数组内容通过一个变量发生更改,您是否希望所有变量都看到相同的更改?
-
什么是
input?为什么(*p)周围有奇怪的括号? -
@MM1 使用标准 C 函数 strcpy 将字符串从一个字符数组复制到另一个。
-
抱歉,刚刚编辑了
-
还是不太清楚。但您似乎想要这个:
char firstArr[size] = "content"; char *secondArr = firstArr;?
标签: c arrays pointers variable-assignment