10.22-初识关键字static,#define

目录

什么是关键字static?

关键字static的作用是什么?

static修饰局部变量。

static修饰全局变量。

static修饰函数。

什么是#define? 

define的作用是什么?

define定义常量和宏。


​​​​



前言

本篇文章是初学者对static#define的大致理解



一、关键字static是什么?

在C语言中: static是用来修饰变量和函数的 1. 修饰局部变量-称为静态局部变量 2. 修饰全局变量-称为静态全局变量 3. 修饰函数-称为静态函数



二、关键字static的作用


1.static修饰局部变量。

未修饰前代码如图:

 打印出的结果是10个2;

修饰后代码如图:

 打印后的结果是2-11,说明以下几点:

 函数中局部变量:

      声明周期延长:该变量不随函数结束而结束

      初始化:只在第一次调用该函数时进行初始化

      记忆性:后序调用时,该变量使用前一次函数调用完成之后保存的值

      存储位置:不会存储在栈上,放在数据段



2.static修饰全局变量

未修饰代码如下(示例):一个源文件里面的全局变量可以跨文件使用

 修饰后的全局变量没有外部链接属性只有内部链接属性,所以即使声明后也不能跨文件使用

 总结如下

 全局变量

     改变该变量的链接属性,让该变量具有文件作用域,即只能在当前文件中使用


3.static修饰函数

与上述修饰全局变量一样,static修饰函数的时候,函数本来也是具有外部链接属性的,被static修饰的时候,就变成了内部链接属性,这个函数只能在自己的源文件中使用了,不能在其它文件中使用,给我们一种改变了作用域的感觉。

static修饰函数

   改变该函数的链接属性,让该函数具有文件作用域,即只能在当前文件中使用


三、什么是#define

#define 命令是 C 语言中的一个宏定义命令 ,它用来将一个标识符定义为一个字符串 , 该标识符被称为宏名, 被定义的字符串称为替换文本。 该命令有两种格式:一种是简单的宏定义, 另一种是带参数的宏定义。


1.#define定义标识符常量


 2.#define定义宏


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值