0

Pythonを何年も使用した後、Cでのプログラミングに戻ります。Pythonに似たものを書くために、Cでどのツールが最適か疑問に思っていることが1つあります。

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 バイトがあることを覚えておく必要があります。

また、ポインターの constness を完全に修飾することをお勧めしますconst char *const list1[]={"foo","bar"};(実際には、const データへの const ポインターの配列であると仮定します)。

于 2012-07-12T19:10:23.477 に答える