在C语言中,关键字static通常用来修饰变量和函数1. 修饰局部变量-称为静态局部变量2. 修饰全局变量-称为静态全局变量3. 修饰函数-称为静态函数 (1).static修饰局部变量 下面我们通过两段代码来理解static修饰局部变量的意义。 代码语言:javascript 复制 //代码1#include<stdio.h>voidtest(){int i=0;i++;printf...
1)全局变量是不显式用static修饰的全局变量,全局变量默认是有外部链接性的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过extern 全局变量名的声明,就可以使用全局变量。 2)全局静态变量是显式用static修饰的全局变量,作用域是声明此变量所在的文件,其他的文件即使用extern声明也不能使用。 2.3...
static修饰函数其实和修饰全局变量很类似 在一个源文件中创建的函数也可以用在不同的源文件中,和全局变量类似,在其它源文件中使用需要进行声明 。 例如: extern int Add(int x,int y); 用static修饰后,这个函数就不能在除自己所在源文件以外的源文件中使用。 函数本身具有外部链接属性,但是被static修饰就只有内部...
1.修饰局部变量,称为静态局部变量; 2.修饰全局变量,称为静态全局变量; 3.修饰函数,称为静态函数; 第一:修饰局部变量 (以下的编程时采用VS 2022完成的) 局部变量b,进入作用域创建,出了作用域便销毁,所以代码执行结果为10 个1; static修饰局部变量,第一次进入作用域创建变量b,执行完出了作用域变量不销毁, 一...
函数中静态变量aa 只初始化一次,每次访问的值应该是上一次调用到该函数时最后处理的结果, 三、static 函数 1. 概念: 在函数的返回类型前加上关键字static,函数就被定义成为静态函数。 函数的定义和声明默认情况下是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。 static函数(也叫内部函数...
1)全局变量是不显式用 static 修饰的全局变量,全局变量默认是有外部链接性的,作用域是整个工程,在一个文件内定义的全局变量,在另一个文件中,通过 extern 全局变量名的声明,就可以使用全局变量。 2)全局静态变量是显式用 static 修饰的全局变量,作用域是声明此变量所在的文件,其他的文件即使用 extern 声明也不能...
static对全局变量的修饰,可以认为是限制了只能是本文件引用此变量。有的程序是由好多.c文件构成。彼此可以互相引用变量,但加入static修饰之后,只能被本文件中函数引用此变量。static对栈变量的修饰,可以认为栈变量的生命周期延长到程序执行结束时。一般来说,栈变量的生命周期由OS管理,在退栈的过程中,栈变量的生命...
1、用静态关键字static修饰的局部变量,在编译的过程中,会在数据区为该变量开辟空间,并对其进行初始化,如果代码中未对其进行初始化,则系统默认初始化为0。 2、用static修饰的局部变量,会延长局部变量的寿命,超出函数的生存期。 3、对静态关键字修饰的局部变量的初始化。
static在C语言中的作用 const在C语言中算是一个比较新的描述符,我们称之为常量修饰符,意即其所修饰 的对象为常量(immutable)。 我们来分情况看语法上它该如何被使用。 1、函数体内修饰局部变量。 例: void func(){ const int a=0; } 首先,我们先把const这个单词忽略不看,那么a是一个int类型的局部自动...
static关键字在C语言中应用广泛,特别是在权限管理方面。它主要有三种用法,下面我们来详细讲解。📌 static修饰局部变量 当static修饰局部变量时,变量的作用域范围不会改变,但存储位置会被改动。这样,变量的生命周期会变得和全局变量一样长。例如,在一个函数内部定义的静态局部变量,它的值会在程序执行期间一直存在,直到...