答案 0 :(得分:2)
作者可能谈论的一件事是函数指针
function getTokens(void (*callback)(char *)) {
char *c;
while(true) {
c = malloc(100 * sizeof(char));
if(scanf("%s", c) != 1) {
break;
}
callback(c);
}
calloc(c);
}
这里,调用函数callback
,每个字符串从标准输入读取。
callback
可以执行任何操作,并在运行时动态传递给getTokens
。
void printToken(char *c data) {
printf("%s\n", data);
}
void ignoreToken(char *c) {
}
void (*tokenCallback)(char *) = (1 + 1 == 2) ? &printToken : &ignoreToken; //"dynamic"
getTokens(tokenCallback);