另外:这段代码有意义吗?(我是C新手,所以不确定)
char*s1 = derp[0];
char*s2 = derp[1];
我觉得derp是一个指向字符的指针数组(即一个字符串数组),我试图从数组中取出两个字符串。但是,当我尝试将这两个 char* 传递给一个函数(其原型是 FindMaxOverlap(char*long, char*short) 时,编译器会向我抛出一个错误,指出存在 FindMaxOverlap 函数的隐式定义)。
char *derp[20]:
声明为指向 的指针derp
数组。20
char
char*s1 = derp[0];
声明s1
一个指针,用指向元素的char
第一个指针进行初始化。只要 的第一个元素已正确分配,例如使用.char
derp
derp
malloc
您可以将s1
and传递s2
给您的FindMaxOverlap
函数,但derp[0]
必须derp[1]
指向有效对象。
当您调用FindMaxOverlap
函数时,FindMaxOverlap
必须在源文件中声明,例如使用包含文件或通过在文件范围内声明原型。
另请注意,long
andshort
是 C 中的关键字,您不能将它们用作函数参数的标识符。