0

在使用 Python 多年后,我将重返 C 语言编程。一件事我想知道在 C 中哪些工具最适合编写类似于 Python 的东西:

list1=["foo","bar"]

我想出的最接近的是:

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

这工作正常,但有点笨拙。我在网上看到了一些使用 {} 的 C++ 示例,我想知道是否有办法让这个成语(或类似的东西)在纯 C 中工作。

4

3 回答 3

5

这也应该适用于C。尝试,

const char * list1[] = { "foo", "bar" };
于 2012-07-12T18:36:12.527 回答
1

您可以做一些非常相似的事情来初始化 C 中的数组(默认情况下不存在列表)

char * myStringArray[4] = { "This", "is", "my", "array" };
于 2012-07-12T18:37:38.977 回答
0

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

此外,完全限定指针的 const 性也是一个好习惯:(const char *const list1[]={"foo","bar"};假设它确实是指向 const 数据的 const 指针数组)。

于 2012-07-12T19:10:23.477 回答