我们如何使用一个新变量,它将是一个数组本身,并将被分配来自另一个数组的所有值? (随叫随到)
例如:
变量myfood是我的。
它有多种选择:香蕉,橙等......
char banana[3]={"sweet","yellow","fruit"};
char orange[3]={"juicy","orange","fruit"};
现在,我对我的食物现在是香蕉。所以我想要的是:
int myfood= banana;
但它不起作用.....
int myfood[]=banana[]; //dont work either
int *myfood
myfood=&banana;
printf(myfood[2]); -------> should equal to 'yellow';
所有这些都不起作用。
因为我正在制作一个大项目。我必须根据你当前使用的东西传递参数。
所以变量是使用的,根据你拥有的东西(它可能是香蕉,苹果等),它将被分配正确的数组。
感谢
答案 0 :(得分:3)
我们如何使用一个新变量,它将是一个数组本身,并将被分配来自另一个数组的所有值?
别。创建指针,它将指向到数组。避免复制!
假设您有这两个数组(我已更正其类型为const char *
)。然后创建指针到char *,并将其指向其他数组之一。请记住,数组会降级为指针。
现在使用它,记住数组从索引0开始。:
#include <stdio.h>
const char *banana[3] = {"sweet","yellow","fruit"};
const char *orange[3] = {"juicy","orange","fruit"};
const char **food = banana;
int main(void)
{
printf("%s\n", food[1]);
return 0;
}
结果:
yellow
答案 1 :(得分:-5)
const char* banana[3]={"sweet","yellow","fruit"};
const char* orange[3]={"juicy","orange","fruit"};
const char** food = banana;
cout << food[2] << endl; // "fruit"