我想用C泛型在C和通用功能
int lsearchGeneric(void *key, void *base, int n, int elemSize)
{
int i =0;
for(; i < n; i++) {
void *elemAddr = (char*) base + i * elemSize;
if(memcmp(key, elemAddr , elemSize) == 0) {
return i;
}
}
return -1;
}
该功能被称为与
char *key = strdup("w");
char *base = strdup("two");
int result = lsearchGeneric (&key, base, 3, sizeof(char));
printf("Position: %d\n", result); // prints -1
我不知道我失去了什么位置来实现搜索。因为“w”是“two”中的第二个字母
对于那些(你知道你是谁)谁想知道这是否是家庭作业 - 答案是“不,它不是。我下面编程范式从iTunesU讲座”
您是否试过在调试器中逐步执行程序?鉴于你正在学习这样做,你会从这里学到更多的东西,而不是从这里的答案... – 2012-01-06 04:51:09