【发布时间】:2017-11-07 21:47:17
【问题描述】:
在 C 中,我如何声明和使用/操作字符串数组?
例如,它可能是
a[1]="Apples";
a[2]="Pineapples are red"
如何访问这些元素并修改它们?
【问题讨论】:
-
你能详细说明吗?
在 C 中,我如何声明和使用/操作字符串数组?
例如,它可能是
a[1]="Apples";
a[2]="Pineapples are red"
如何访问这些元素并修改它们?
【问题讨论】:
在您的代码中,a 必须是指向 char 的指针数组,例如char *a[5],然后将指针分配给字符串文字:
a[1]="Apples";
a[2]="Pineapples are red";
您可以在某种意义上修改元素以使其指向不同的字符串,例如a[1]="another fruit";。您可以访问整个字符串,例如printf("%s", a[1]),也可以访问单个字符,例如char willBeA_p = a[1][1];但是您不能修改示例中字符串的内容,因为它们是字符串文字(并且修改字符串文字会产生未定义的行为)。所以a[1][1]='b'是不允许的。
【讨论】:
您可以定义一个字符串数组,例如:
char * array_of_strings[100];
并使用malloc 为每个人分配内存。
array_of_strings[0] = (char *) malloc(100);
array_of_strings[0] = "here is your string";
【讨论】:
声明:data_type array_name[array_size];
示例:浮动标记[5];
您可以通过索引访问数组的元素。假设您如上所述声明了一个数组标记。第一个元素是mark[0],第二个元素是mark[1]等等。
可以在声明期间初始化数组。例如。
int 标记[5] = {19, 10, 8, 17, 9};
【讨论】: