在C中,我如何声明和使用/操作一个字符串数组?
例如,它可能是
a[1]="Apples";
a[2]="Pineapples are red"
如何访问这些元素并进行修改?
答案 0 :(得分:2)
在您的代码中,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'
。
答案 1 :(得分:0)
你可以定义一个字符串数组,如:
char * array_of_strings[100];
并使用malloc
为每个人分配内存。
array_of_strings[0] = (char *) malloc(100);
array_of_strings[0] = "here is your string";
答案 2 :(得分:0)
声明:data_type array_name [array_size];
示例:float mark [5];
您可以通过索引访问数组的元素。假设您如上所述声明了数组标记。第一个元素是mark [0],第二个元素是mark [1],依此类推。
可以在声明期间初始化数组。例如。
int mark [5] = {19,10,8,17,9};