怎样用static封装一个函数
/*怎样用static封装定义一个函数,别的函数都不可以调用它(函数的作用范围)请给出示例代码*/
这个代码虽然没有错误,可是好像不符合内部函数的归则
#include<stdio.h>//
static void fun(void);//内部函数又称为静态函数
void f(void);
static void fun(void)//定义内部函数的一般行式
{
int a=3;
printf("fun()函数里面的a值为:%d\n",a);
}
void f(void)
{
fun();
fun();
}
int main(void)
{
fun();
fun();
fun();
f();//为什么f()函数可以调用fun()函数
return 0;
}
第二种
#include<stdio.h>
#include "file.h"
static void fun(void)
{
int a=3;
printf("fun()函数里面的a值为:%d\n",a);
}
int main(void)
{
fun();
fun();
fun();
f();
return 0;
}
#include "file1.h"
void f(void)
{
fun();
}
简单一句话怎样用关键字static封装一个函数
函数的默认扩展类型是extern,你倒是可以把函数前加static限制作用范围,即只能在本文件或者本模块里使用。
C语言里函数体内是不能定义函数的,貌似没有局部函数这一说。
“你倒是可以把函数前加static限制作用范围,即只能在本文件或者本模块里使用。”——这句话怎样理解
请各位给出点示例代码,谢谢