控制工程师论坛

教程与手册

软件编程经典培训实例 1 变量/指针在使用前就必须初始化

xilinxue
xilinxue

2008-11-04

案例 1

 C语言中最大的特色就是指针。指针的使用具有很强的技巧性和灵活性,但同时也带来了很大的危险性。在XXX的代码中有如下一端对指针的灵活使用:
... ...

    _UC *puc_card_config_tab;

... ...
        Get_Config_Table( AMP_CPM_CARD_CONFIG_TABLE,
                          &ul_card_config_num,
                          &puc_card_config_tab,
                          use_which_data_area
                        );
... ...
      b_middle_data_ok = generate_trans_middle_data_from_original_data(
                                puc_card_config_tab,
                                Ul_card_config_num)
.... ...
其中红色部分巧妙的利用指向指针的指针为指针puc_card_config_tab赋值,而在兰色部分使用该指针。但在Get_Config_Table函数中有可能失败返回而不给该指针赋值。因此,以后使用的可能是一个非法指针。
指针的使用是非常灵活的,同时也存在危险性,必须小心使用。指针使用的危险性举世共知。在新的编程思想中,指针基本上被禁止使用(JAVA中就是这样),至少也是被限制使用。而在我们交换机的程序中大量使用指针,并且有增无减。

回帖

评论0

首页 | 登录 | 注册 | 返回顶部↑
手机版 | 电脑版
版权所有 Copyright(C) 2016 CE China