我在声明指向字符的二维变量的指针时遇到了问题...
const char * d1 [][2] =
{
{ "murderer", "termination specialist" },
{ "failure", "non-traditional success" },
{ "specialist", "person with certified level of knowledge" },
{ "dumb", "cerebrally challenged" },
{ "teacher", "voluntary knowledge conveyor" },
{ "evil", "nicenest deprived" },
{ "incorrect answer", "alternative answer" },
{ "student", "client" },
{ NULL, NULL }
};
char ( * ptr ) [2] = d1;
这是我的代码。我得到的错误是错误:无法使用类型为'const char [9][2]'的左值初始化类型为'char()[2]'的变量。发生了什么情况?我如何修复它?谢谢大家。char(* ptr)[2] = d1;
1条答案
按热度按时间xmjla07d1#
您声明了一个二维数组,如
数组元素的类型为
const char *[2]
。因此,指向数组第一个元素的指针声明如下所示:
用作初始化器的数组
d1
被隐式转换为指向其第一个元素的指针。使用指针算法可以访问原始数组的任何元素。
这是一个演示程序。
程序输出为