您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言内部函数到底是什么?

时间:12-30来源:作者:点击数:

内部函数(用static关键字说明)是作用域只限于说明它的源文件的函数。作用域指的是函数或变量的可见性。如果一个函数或变量在说明它的源文件以外也是可见的,那么就称它具有全局或外部作用域;如果一个函数或变量只在说明它的源文件中是可见的,那么就称它具有局部或内部作用域。

内部函数只能在说明它的源文件中使用。如果你知道或希望一个函数不会在说明它的源文件以外被使用,你就应该将它说明为内部函数,这是一种好的编程习惯,因为这样可以避免与其它源文件中可能出现的同名函数发生冲突。请看下例:

#include <stdio.h>
int open_customer_table(void);          /*global function, callable from any module  */
static int open_customer_indexes(void); /*local function, used only in this module */
int open_customer_table(void)
{
    int ret_code;
    /* open the customer table */
     ......
    if (ret_code == OK)
    {
        ret_code = opcn_customer_indexes();
    }
     return ret_code;
}
static int open_customer_indexes(void)
{
     int ret_code;
     /* open the index files used for this table */
      ......
     return ret_code;
}

在上例中,函数open_customer_table()是一个外部函数,它可以被任何模块调用,而函数open_customer_indexes()是一个内部函数,它永远不会被其它模块调用。之所以这样说明这两个函数,是因为函数open_customer_indexes()只需被函数open_customer_table()调用,即只需在上例所示的源文件中使用。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门