手记

【备战春招】第7天 嵌入式工程师学习笔记

【备战春招】第7天 嵌入式工程师学习笔记

课程信息

课程内容概述

1. 简介

本节介绍了static,static在C语言中属于比较常见的关键字。它的用法很多,在一定的环境下使用,可以提高程序的运行性能。优化程序的结构。本文中主要是对C语言中静态关键字static进行讲解。

2. 使用场景

3. 基本用法

2.1 修饰变量

2.1.1 修饰局部变量
  • 在编译的过程中,会在数据区为该变量开辟空间,并对其进行初始化,如果代码中未对其进 行初始化,则系统默认初始化为0。
  • 用static修饰的局部变量,会延长局部变量的寿命,超出函数的生存期。
2.1.2 修饰全局变量
  • static 修饰全局变量,在数据区域分配存储空间,未初始化编译器会自动初始化为0.
  • static 修饰全局变量,限制全局变量的使用范围,让其只能在本文件使用,其他文件不能使用。
2.1.3 修饰函数

函数的使用方式与全局变量类似,在函数的返回类型前加上static,就是静态函数。其特性如下:

  • 静态函数只能在声明它的文件中可见,其他文件不能引用该函数
  • 不同的文件可以使用相同名字的静态函数,互不影响

2.2 代码示例

#include <stdio.h>

void fun1(void)
{
    int n = 10;

    printf("n = %d\n", n);
    n++;
    printf("n++ = %d\n", n);
}
void fun2(void)
{
    static int n = 10;

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

int main()
{
    fun1();
    fun2();
    fun1();
    fun2();
    return 0;
}

运行结果

n = 10
n++ = 11
static n = 10
n++ = 11
n = 10
n++ = 11
static n = 11
n++ = 12

学习心得

C语言中的static关键字,既可以修饰变量又可以修饰函数,而且会影响作用域。

课程截图

1. 加static的前后的对比

0人推荐
随时随地看视频
慕课网APP