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

时间:2010-11-03 06:06:15

标签: c

在php中

$arr = array()
$arr[0] = "string 1";
$arr[1] = "string 2";

在c中怎么样?

感谢

2 个答案:

答案 0 :(得分:4)

您需要声明一个指针数组。数组的每个元素都是指向字符串的指针。您需要复制该字符串,然后在完成后将其释放。

char *strings[2];

strings[0] = strdup("Hello, world!");
printf("%s\n", strings[0]);
free(strings[0]);

答案 1 :(得分:2)

有几种方法可以做到这一点:

  • 这将分配足够的空间 该计划的数据部分 存储字符串,并存储 字符串的地址,在“arr”中 变量,然后可以访问 就像一个数组。
char *arr = "First String";
char a = arr[2];
  • 另一种方法是分配内存    为字符串然后存储它    那个记忆随后可以    可以像数组一样访问:
char a;
char *str = (void *) malloc(14);
strncpy(str, "Second String", 14);
a = str[2];
  • 第三种方法是声明一个数组 一定大小并分配一个字符串 它:
char str[14] = "Third String";

以下是C语言中的good discussion数组和指针。