gpt4 book ai didi

c - 嵌套的 C 数组指针类型

转载 作者:太空狗 更新时间:2023-10-29 15:18:06 26 4
gpt4 key购买 nike

这似乎是一个应该已经在某个地方得到回答的问题,但我似乎找不到令人满意的东西。不管怎样,我需要从一个函数中返回类似这样的东西:

{ {"foo", "bar"}, {"baz", "foo"}, {"foo", "bar"} }

我熟悉 argv 的用法,我明白它的类型是什么意思,但出于某种原因,我无法正确获取上述表达式的类型。最里面的部分总会有 2 个字符串文字,因此我认为是这样的

char **s[2] or char *(*s[2])

应该是我所追求的,但由于某种原因,无论我尝试遍历和使用 printf 时尝试的排列如何,我总是以段错误告终。此外,编译器不断提示不兼容的指针类型、过多的元素和太多的大括号。这是当前代码:

 char *(*s[2]) = { {"foo", "bar"}, {"baz", "spam"}, {"eggs", "ham"} };

最佳答案

你很接近。

#include <stdio.h>

int main()
{

char* s[][2] = { {"foo", "bar"}, {"baz", "spam"}, {"eggs", "ham"} };

for( int i = 0; i < 3; i++ )
{
for(int j = 0; j < 2; j ++)
{
printf("%s ",s[i][j]);
}
}

}

以上打印:foo bar baz spam eggs ham

关于c - 嵌套的 C 数组指针类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13338825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com