请教static 的用法
// this is file1.h
static int i=10000;
static void f1()
{
printf( "this is function f1 !\n ");
}
//-------------------------------
#include <stdio.h>
#include "file1.h "
void main()
{
printf( "i:=%d ",i);
f1();
}
我的理解是file1.h中i和f1均申明为static,那么在其他文件中就不应该被访问到啊,可是我在vc6.0和gcc下 确都没有报错,不知怎么回事,望指教,谢谢!
[解决办法]
static
和局部变量是不同的概念,static影响存在期,局部影响可见
i和f1全局的,#include "file1.h "当然能
[解决办法]
static int i=10000;
static void f1()
===========
以前曾听说过
添加static的另一个功能是可以被其他文件使用的
印象是这样,不知道对不对
[解决办法]
放在全局范围,static与否,均可见
放在局部static也是不可见
[解决办法]
用错了,应该放在.c里面
[解决办法]
static int i=10000;
static void f1()
{
printf( "this is function f1 !\n ");
}
放在.c文件里面,记住,定义和实现最好不要放在.h文件里面,.h文件放声明就可以了