这似乎是一个应该已经在某个地方回答的问题,但我似乎找不到令人满意的东西。无论如何,我需要从一个看起来像这样的函数返回:
{ {"foo", "bar"}, {"baz", "foo"}, {"foo", "bar"} }
我熟悉 of 的使用argv
并且理解它的类型的含义,但由于某种原因,我无法正确获取上述表达式的类型。最里面总会有 2 个字符串文字,因此我想像
char **s[2] or char *(*s[2])
应该是我所追求的,但由于某种原因,无论我尝试迭代和使用printf
. 此外,编译器不断抱怨指针类型不兼容、元素过多和大括号过多。这是当前代码:
char *(*s[2]) = { {"foo", "bar"}, {"baz", "spam"}, {"eggs", "ham"} };