栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言关键字之static

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言关键字之static

static是C语言中得一个关键字。

它的使用有三种情况:修饰局部变量、全局变量、函数。

修饰局部变量:改变存储属性

普通的局部变量是存放在栈中的,而被static修饰的变量是存放在数据段中的。

放在数据段中的具体位置具体分析:已初始化的在data区、未初始化的在bss区。

修饰全局变量:改变其链接性

普通的全局变量默认是加extern修饰的,可以被本工程的其他文件调用。

但被static修饰的全局变量,它只在当前文件有效,不能被本工程的其他文件调用。所以其他文件可以定义与其名字相同的全局变量。

修饰函数:改变其链接性

普通的函数定义后,其他文件想要使用的话,包含声明此函数的头文件即可。

但被static修饰的函数让其链接性发生改变,其仅对本文件可见,对其他文件不可见。

例题:

创建三个文件:static.c static.h main.c 

//static.c

#include 

void function1(void)
{
    printf("Hello,word from function 1rn");
}

void function2(void)
{
    function1();
    printf("Hello,word from function 2rn");
}

//static.h

#include 

void function1(void);

static void function2(void);
//main.c

#include "static.h"

void function1(void)
{
    printf("Hello,word from function main.crn");
}

int main()
{
    function1();
    function2();
}

运行结果:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/993907.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号