回头看看那超烂的大学C教程,很多地方没写清楚,遇到问题时看不懂代码。
u-boot中有这么一段代码。
|
|
自己写了2个test程序
一个typedef int (test_fnc_t) (void);
一个typedef int (*test_fnc_t) (void);
|
|
#include<stdio.h>
int test0 (void);
int test1 (void);
typedef int (test_fnc_t) (void);
test_fnc_t *test_sequence[] = {
test0,
test1,
NULL,
};
//int _tmain(int argc, _TCHAR* argv[])
int main()
{
test_fnc_t **test_fnc_ptr;
for (test_fnc_ptr = test_sequence; *test_fnc_ptr; ++test_fnc_ptr) {
if ((*test_fnc_ptr)() != 0) {
printf("error here!");
}
}
return 0;
}
int test0 (void)
{
printf("test0/n");
return 0;
}
int test1 (void)
{
printf("test1/n");
return 0;
}
本文通过实例深入解析了C语言中typedef的作用及如何使用typedef定义函数指针数组,进而实现对一系列函数的遍历调用。通过对比两种不同的typedef声明方式,帮助读者更好地理解函数指针的应用。
1万+

被折叠的 条评论
为什么被折叠?



