列举c语言关键字static,C语言系列--关键字--static

概述

static关键字在c语言中比较常用,使用恰当能够大大提高程序的模块化特性,有利于扩展和维护。

但是对于c语言初学者,static由于使用灵活,并不容易掌握。本文就static在c语言中的应用进行总结,供参考使用。错漏之处,请不吝指正。

在程序中使用static变量

1. 局部变量

普通局部变量是再熟悉不过的变量了,在任何一个函数内部定义的变量(不加static修饰符)都属于这个范畴。编译器一般不对普通局部变量进行初始化,也就是说它的值在初始时是不确定的,除非对其显式赋值。

普通局部变量存储于进程栈空间,使用完毕会立即释放。

静态局部变量使用static修饰符定义,即使在声明时未赋初值,编译器也会把它初始化为0。且静态局部变量存储于进程的全局数据区,即使函数返回,它的值也会保持不变。

变量在全局数据区分配内存空间;编译器自动对其初始化

其作用域为局部作用域,当定义它的函数结束时,其作用域随之结束

小程序体会一下静态局部变量的威力:

#include

void fn(void)

{

int n = 10;

printf("n=%d\n", n);

n++;

printf("n++=%d\n", n);

}

void fn_static(void)

{

static int n = 10;

printf("static n=%d\n", n);

n++;

printf("n++=%d\n", n);

}

int main(void)

{

fn();

printf("--------------------\n");

fn_static();

printf("--------------------\n");

fn();

printf("--------------------\n");

fn_static();

//下面这句话,编译时报错, 说明静态局部变量无法在其他函数中进行引用

//printf("打印static n:%d\n", n);

return 0;

}

a3c40da2dde7d910cccf04053db87100.png

可见,静态局部变量的效果跟全局变量有一拼,但是位于函数体内部,就极有利于程序的模块化了。

---------------------

标签:++,void,局部变量,C语言,关键字,static,printf,fn

来源: https://www.cnblogs.com/duan9527/p/10340453.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值