在使用 Python 多年后,我将重返 C 语言编程。一件事我想知道在 C 中哪些工具最适合编写类似于 Python 的东西:
list1=["foo","bar"]
我想出的最接近的是:
char * list1[2];
list1[0]="foo";
list1[1]="bar";
这工作正常,但有点笨拙。我在网上看到了一些使用 {} 的 C++ 示例,我想知道是否有办法让这个成语(或类似的东西)在纯 C 中工作。
这也应该适用于C。尝试,
const char * list1[] = { "foo", "bar" };
您可以做一些非常相似的事情来初始化 C 中的数组(默认情况下不存在列表)
char * myStringArray[4] = { "This", "is", "my", "array" };
有一个警告:当你从这样的字符串初始化时,你必须记住尾随的 nul 字节在那里。
此外,完全限定指针的 const 性也是一个好习惯:(const char *const list1[]={"foo","bar"};
假设它确实是指向 const 数据的 const 指针数组)。