高级指针主题深入解析
1. 函数指针的应用
1.1 搜索列表函数的使用
在编程中,有时候需要在列表中搜索特定的元素。例如,对于整数列表的搜索,可以使用如下代码:
desired_node = search_list( root, &desired_value, compare_ints );
这里需要注意的是,比较函数的参数必须声明为 void *
以匹配搜索函数的原型,然后在函数内部将其转换为 int *
来比较整数值。
如果要搜索字符串列表,代码如下:
#include <string.h>
...
desired_node = search_list( root, "desired_value", strcmp );
库函数 strcmp
正好能完成我们需要的比较操作,但有些编译器会发出警告,因为它的参数声明为 char *
而非 void *
。
1.2 跳转表的使用
1.2.1 跳转表的引入
在实现一个袖珍计算器程序时,需要根据用户输入的运算符调用不同的函数。传统的做法是使用 switch
语句,示例代码如下:
sw