我正在制作C控制台菜单程序。 而且我被困在字符*作业上。 有什么好方法可以将字符*分配给字符**吗? 代码如下:
char* group0[14]=
{
//group0:5
"Funciton0-1",
"Function0-2",
"Funciton0-3",
"Function0-4",
"Funciton0-5",
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
};
//... group0~group9 are similiar.
char* group9[14]=
{
//group9:2
"Funciton9-1",
"Function9-2",
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
};
char* name[10][14]=
{
{group0},
{group1},
{group2},
{group3},
{group4},
{group5},
{group6},
{group7},
{group8},
{group9},
};
为什么我不能将这些组分配到这个"名称"数组中? 编译器回复我错误...
谢谢!
当你在name
的初始值设定项列表中使用group0
时,它将衰减到指向第一个元素的指针。这意味着对于表达式group0
,类型将为&group0[0]
,即char**
。
假设name
应该是指向组的指针数组,您需要相应地更改其类型:
char** name[10] = {
group0,
group1,
...