如何在c中使用字符串数组

Ali*_*imi 2 c linux arrays

我想使用与此相同的字符串数组:

char arr[][20] = {"username1", "username2"};
Run Code Online (Sandbox Code Playgroud)

在我没有问题得到价值之后,例如:

printf("%s", arr[0]); // for "username1"
Run Code Online (Sandbox Code Playgroud)

我有问题将新字符串插入此数组,这样的事情!?:

arr[2] = "username3"; // or sprintf(arr[2], "%s", "username3");
Run Code Online (Sandbox Code Playgroud)

Fre*_*Foo 7

你试图插入一个char*数组char[20].那不行.你可以使用strcpyas

strcpy(arr[2], "username3");
Run Code Online (Sandbox Code Playgroud)

如果你为第三个字符串分配了足够的空间,你还没有.我建议你malloc和朋友们一起阅读; 你不能只是将一个字符串附加到这个数组.