当前位置:首页 > 健康 >

c语言static用法(c 语言static)

来源:原点资讯(www.yd166.com)时间:2022-11-25 14:07:06作者:YD166手机阅读>>

static静态变量

C语言提供了static关键字来修饰变量的定义,static关键字修饰的变量称为:静态变量;该关键字修饰变量的定义格式如下:

static 数据类型名 变量名;

所以,在定义变量的时候,在数据类型名之前添加static关键字,定义的变量就是静态变量。那么,可以包括“静态局部变量”和“静态全局变量”。我们先来总结一下静态局部变量和静态全局变量的特点,然后,再编写测试例子证明。总结如下:

(1) 静态局部变量,其作用域与局部变量一样;就是在定义变量的代码块内;生命期与全局变量一样,是整个程序运行期间。

而且,静态局部变量只初始化一次,初始化第一次之后,第二次再遇到该局部变量的定义时,就不会重新定义。

(2) 静态全局变量,其生命周期与全局变量一样,就是在整个程序的运行期间;作用域则被限制为在定义该静态全局变量的源文件内。例如在test.c源文件中定义了静态全局变量,那么,静态全局变量就只能够在test.c源文件中使用。

(3) 静态局部变量和静态全局变量,它们的初始值都默认设置为0值。

下面我们举例说明静态局部变量的使用,程序测试例子如下:

c语言static用法,c 语言static(1)

程序运行结果如下:

c语言static用法,c 语言static(2)

可以看到,第一次调用func函数的时候,进入func函数体,定义静态局部变量a,然后,给静态局部变量a赋值,并累加变量的值。使用静态局部变量a的值为15数值。

那么,第二次调用func函数的时候,再次进入func函数,此时,遇到静态局部变量a的定义语句,那么,由于静态局部变量a已经定义过了,所以,不再执行静态局部变量a的定义语句,所以,略过执行静态局部变量a的定义语句。接着对静态局部变量a累加,使变量a的值为25数值。

当第三次调用func函数的时候,与第二次调用func函数一样,由于静态局部变量a已经定义了,所以,不再执行静态局部变量a的定义语句。接着就对静态局部变量a累加,使变量a的值为35数值。

通过这个测试例子,可以看出,静态局部变量的定义语句只执行一次,所以,定义静态局部变量时候的初始化值也只执行一次。

对于静态全局变量,就是其“作用域”只局限于定义该全局静态变量的源文件内,无法通过extern关键字,在其他源文件中使用静态全局变量。首先,我们新建一个test.c源文件,在该源文件中定义一个全局变量:

c语言static用法,c 语言static(3)

然后,在新建test1.c源文件,在该文件中,通过关键字引用全局变量。test1.c源文件的代码如下:

c语言static用法,c 语言static(4)

首页 12下一页

栏目热文

static 的用途(static怎么使用)

static 的用途(static怎么使用)

1) 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2) 在模块内(但在函数体外),一个被声明为静...

2022-11-25 14:47:44查看全文 >>

static用法(static的简单用法)

static用法(static的简单用法)

C中 static 的用法C语言中,根据 static 的使用位置可以分为两种:1、修饰函数内部的变量即函数内的静态变量...

2022-11-25 14:16:23查看全文 >>

c语言static关键字的作用(c语言static关键字作用)

c语言static关键字的作用(c语言static关键字作用)

嵌入式开发,离不开 C 语言,C语言中有很多语法会直接或间接影响你代码的质量,下面就来讲讲__attribute__ 关...

2022-11-25 14:01:35查看全文 >>

static关键字的作用(c语言static关键字的作用)

static关键字的作用(c语言static关键字的作用)

前言之前讲到final关键字的作用是每次面试的时候我必问求职者的两个问题之一,另外一个问题就是文本会写到的static。...

2022-11-25 14:04:37查看全文 >>

static关键字有哪些作用(static关键字的作用)

static关键字有哪些作用(static关键字的作用)

C语言代码是以文件为单位来组织的,在一个源程序的所有源文件中,一个外部变量(注意不是局部变量)或者函数只能在一个源程序中...

2022-11-25 14:19:59查看全文 >>

static方法的作用(static怎么使用)

static方法的作用(static怎么使用)

一、聊一聊Static与JVMJAVA 把内存分为栈内存和堆内存,其中栈内存用来存放一些基本类型的变量、数组和对象的引用...

2022-11-25 14:18:45查看全文 >>

static声明的优缺点(static的底层原理)

static声明的优缺点(static的底层原理)

文章目录面向对象的进阶面向对象进阶的第一篇, 主要讲解内容如下:static关键字 : 开发中如何定义一个共享的信息,给...

2022-11-25 14:24:41查看全文 >>

static在c语言中的用法(c语言顺口溜)

static在c语言中的用法(c语言顺口溜)

一、位操作运算符 含义 运算符 含义& 按位与 ~ 取反| 按位或 << 左移^ 按位异或 >>...

2022-11-25 14:01:09查看全文 >>

c语言static使用举例(c语言必背100程序)

c语言static使用举例(c语言必背100程序)

这篇介绍C语言里函数的定义、子函数的使用。接着介绍变量的作用域,定义全局变量、静态变量、只读变量、变量初始化等等。一、函...

2022-11-25 14:29:37查看全文 >>

static 关键字的作用(static的三种作用)

static 关键字的作用(static的三种作用)

static,即静态声明。它在 作用域、存储方式、生命周期 等各方面影响一个变量或函数。文章将从 局部变量、全局变量、普...

2022-11-25 14:00:58查看全文 >>

文档排行