char S[1000][200];
字符串数组,并具有如下功能:
char** buscar_str(char **S){.......}
但是当我尝试这个时:
buscar_str(S);
我收到提到的错误note: expected ‘char **’ but argument is of type ‘char (*)[200]
。我该如何解决这个问题?
char S[1000][200]
,S
是200,000字节的内存,分为200个char
的1000个数组。但是用buscar_str
声明的例程char **buscar_str(char **S)
需要一个指向char
的一个或多个指针的指针。在char
中没有指向S
的任何指针。您可以给出一个,例如&S[0][0]
,但不能超过一个。要解决此问题,您必须为char
的指针数组分配空间,并用此类指针填充该数组(也许是char
中的各种S
指针),或者必须更改buscar_str
以接受指向数组的指针,例如char (*S)[200]
,或者不太可能是指向数组的数组的指针,例如char (*S)[1000][200])
。对于前者,您可以将S
传递给buscar_str
。对于后者,您可以将&S
传递给buscar_str
。
没有更多信息,我们无法告诉您这些选项中的哪一种适合您的情况。