三九宝宝网宝宝百科宝宝知识

C基础辅导:CC++中Static的作用详述

11月11日 编辑 39baobao.com

[你有给孩子报辅导班,补习班吗]你有给孩子报辅导班,补习班吗?孩子从生下来开始就面临着竞争压力,现在的教育趋向于一种快节奏的病态,但是为了不让自己的孩子输在起跑线上,家长们真是费尽了心思,父母费尽心思给孩...+阅读

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。

(1)先来介绍它的第一条也是最重要的一条:隐藏。

当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。

下面是a.c的内容

char a = 'A'; global variable

void msg()

{

printf("Hello\n");

}

Examda提示: 下面是main.c的内容

int main(void)

{

extern char a; extern variable must be declared before use

printf("%c ", a);

(void)msg();

return 0;

}

程序的运行结果是:

A Hello

你可能会问:为什么在a.c中定义的全局变量a和函数msg能在main.c中使用?前面说过,所有未加static前缀的全局变量和函数都具有全局可见性,其它的源文件也能访问。此例中,a是全局变量,msg是函数,并且都没有加static前缀,因此对于另外的源文件main.c是可见的。

如果加了static,就会对其它源文件隐藏。例如在a和msg的定义前加上static,main.c就看不到它们了。利用这一特性可以在不同的文件中定义同名函数和同名变量,而不必担心命名冲突。Static可以用作函数和变量的前缀,对于函数来讲,static的作用仅限于隐藏,而对于变量,static还有下面两个作用。

(2)static的第二个作用是保持变量内容的持久。存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是的一次初始化。共有两种变量存储在静态存储区:全局变量和static变量,只不过和全局变量比起来,static可以控制变量的可见范围,说到底static还是用来隐藏的。虽然这种用法不常见,但我还是举一个例子。

&emspinclude

int fun(void){

static int count = 10; 事实上此赋值语句从来没有执行过

return count--;

}

int count = 1;

int main(void)

{

printf("global\t\tlocal static\n");

for(; count

以下为关联文档:

文化水平不高的父母,应该如何辅导孩子学习为人父母,总是希望能给孩子最好的。穿最合适的衣服,吃最有营养的东西,送孩子去最好的学校。正因为如此,一些文化水平不太高的父母,常常会为给不了孩子最好的家庭教育而自责。确...

爸妈英语不好,该如何辅导孩子学习英语呢孩子的英语学习一直不好,爸妈该如何帮助孩子提高英语能力?父母英语不好能教孩子吗?爸妈英语不好,能不能在家辅导孩子?啾啾英语成绩一直不好,妈妈几次咨询老师,老师都说啾啾课上学...

辅导孩子写作业你行吗辅导孩子写作业你行吗?家长一定要辅导孩子做作业吗?如果是这几种妈妈,一定要注意不要辅导孩子写作业,这对你和孩子都是伤害。某地教育主管部门出台了叫停家长在孩子作业上签字...

孩子看书多不会写作文?家长如何辅导孩子写好作文语文逐渐在大型考试中占据最大的分值比重,而作文是占语文中分值比重最大的一项,因此对于孩子的成绩而言,写好作文至关重要。这篇清单,让家长明白如何辅导孩子写好作文。1. 作文...

暑假如何正确辅导孩子作业暑假如何辅导孩子作业?有很多爸妈表示,暑假辅导孩子气到炸,该怎么办?下面来看看这篇文,先走出这3个误区,才能让孩子专心做功课。妈妈留言暑假辅导孩子写作业,耐心越来越差。只要一...

大学辅导员的工作计划5篇大学辅导员的工作计划5篇(一)一、配合班主任抓好学生的思想政治教育工作,确保学生思想稳定1、开展爱国主义教育、社会主义教育和群众主义教育。以爱国主义教育为主线,深入...

关于辅导员的个人工作计划5篇关于辅导员的个人工作计划5篇(一)以《黑龙江生物科技职业学院学生手册》为指导,结合生物工程系的专业实际,进一步完善和丰富以学促管内涵,全面推进三风建设,狠抓四率,努力提升...

关于辅导员的个人工作总结5篇关于辅导员的个人工作总结5篇 (一) 一学期的辅导员工作即将过去,初次担任辅导员工作,我感到责任也很重大,也在实际工作中发现了自己的很多不足。在院系各位领导、老师和同学的...

孩子家长太奇葩,作为一对一的辅导老师,上周我已经辞四年级的一个男生,语文考了25分,他妈妈实在没办法,找了培训机构,培训机构的杨老师找到我,让我教他语文。 第一次见他,他妈妈正在用脚踹他。测试了他的语文基础,实在太差了,字都不会...

推荐阅读
图文推荐