C:python类快捷方式中的字符串列表?

C:python类快捷方式中的字符串列表?,python,c,arrays,string,Python,C,Arrays,String,在使用Python多年之后,我又回到了C语言编程。有一件事我想知道什么工具在C语言中最适合编写类似于Python的东西: 列表1=[“foo”,“bar”] 我想到的最接近的例子是: char * list1[2]; list1[0]="foo"; list1[1]="bar"; 这很好,但有点笨拙。我在网上看到了一些使用{}的C++例子,我想知道是否有一种方法可以让这个习惯用法(或类似的东西)在纯C.< /P> < P>中工作,这也应该在C上工作。试试看 const char * list1

在使用Python多年之后,我又回到了C语言编程。有一件事我想知道什么工具在C语言中最适合编写类似于Python的东西:

列表1=[“foo”,“bar”]

我想到的最接近的例子是:

char * list1[2];
list1[0]="foo";
list1[1]="bar";

这很好,但有点笨拙。我在网上看到了一些使用{}的C++例子,我想知道是否有一种方法可以让这个习惯用法(或类似的东西)在纯C.< /P> < P>中工作,这也应该在C上工作。试试看

const char * list1[] = { "foo", "bar" };

这在C上也应该起作用。试试看

const char * list1[] = { "foo", "bar" };

您可以执行类似于在C中初始化数组的操作(默认情况下列表不存在)


您可以执行类似于在C中初始化数组的操作(默认情况下列表不存在)


有一个警告:当您从这样的字符串初始化时,您必须记住尾随的nul字节在那里


另外,完全限定指针的常量也是一种很好的做法:
constchar*constlist1[]={“foo”,“bar”}(假设它确实是指向常量数据的常量指针数组)。

有一个警告:当您从这样的字符串初始化时,您必须记住尾随的nul字节在那里


另外,完全限定指针的常量也是一种很好的做法:
constchar*constlist1[]={“foo”,“bar”}(假设它确实是指向常量数据的常量指针数组)。

没有注释的向下投票是非常不礼貌的!我向上投票取消了它,我认为这是一个体面的问题,尽管它到处重复。没有评论的向下投票是非常不礼貌的!我投票取消了它,我认为这是一个不错的问题,尽管它在任何地方都是重复的。好吧,看起来我对初始化这类变量的正确语法感到困惑。你的语法工作得很好。但是我如何在函数的开头初始化list1呢?只是不要太舒服,试着编写一个
append
函数,它会从静态分配数组的末尾退出…@user1521655我很困惑。您可以在函数的开头编写相同的代码。如果你能进一步解释你的真正意思,我可以帮助你\\这部分x=1\\不是这一部分你能在pastebin.com上发布你想要做什么的小片段吗?好的,看起来我对初始化这种类型变量的正确语法感到困惑。你的语法工作得很好。但是我如何在函数的开头初始化list1呢?只是不要太舒服,试着编写一个
append
函数,它会从静态分配数组的末尾退出…@user1521655我很困惑。您可以在函数的开头编写相同的代码。如果你能进一步解释你的真正意思,我可以帮助你\\这部分x=1\\不是这部分你能在pastebin.com上发布你想做什么的小片段吗?