读书人

请问static 的用法

发布时间: 2012-02-08 19:52:21 作者: rapoo

请教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文件放声明就可以了

读书人网 >C语言

热点推荐