不依赖计算长度去遍历数组

您所在的位置:网站首页 遍历字符串数组 不依赖计算长度去遍历数组

不依赖计算长度去遍历数组

#不依赖计算长度去遍历数组| 来源: 网络整理| 查看: 265

❝本文介绍如何遍历函数指针数组的方法。❞

  在一个u-boot源码中看到,分享给大家。利用函数指针数组最后的空指针作为判断结束。

函数指针数组定义:typedef int (init_fnc_t) (void); init_fnc_t *init_sequence[] = { ... env_init, /* initialize environment */ init_baudrate, /* initialze baudrate settings */ serial_init, /* serial communications setup */ console_init_f, /* stage 1 init of console */ display_banner, /* say that we are here */ display_inner, /* show the inner version */ print_commit_log, script_init, smc_init, init_func_pmubus, power_source_init, check_update_key, check_uart_input, dram_init, /* configure available RAM banks */ NULL, /* 数组的结束标志 */ }; 使用(在u-boot中作用是顺序初始化):init_fnc_t **init_fnc_ptr; /* 遍历调用 */ for (init_fnc_ptr = init_sequence; *init_fnc_ptr; ++init_fnc_ptr) { if ((*init_fnc_ptr)() != 0) { ... } } 似曾相识的用法(字符串的结束符):char string[]={'h', 'e', 'l', 'l', 'o', '\0'};

「那么问题来了?为什么不使用sizeof计算数组长度的方法遍历呢?在留言区评论他们为什么会这样做吧。」



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3