0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【笔记】static 在C语言中的用法

撞上电子 2023-06-12 10:03 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

当 `static` 关键字用于不同的上下文时,其含义和作用也会有所不同。下面是更多示例代码,展示了 `static` 在不同用法下的具体效果:

示例1:静态局部变量

#include void increment() {static int count = 0;count++;printf("Count: %d\n", count);}int main() {increment(); // 输出:Count: 1increment(); // 输出:Count: 2increment(); // 输出:Count: 3return 0;}

在这个示例中,`count` 是一个静态局部变量。它被声明为 `static`,意味着它在函数调用之间保持持久性,并且其初始值只在第一次函数调用时初始化。每次调用 `increment()` 函数时,`count` 的值递增并打印。

示例2:静态全局变量

#include static int globalVar = 10;void function() {printf("Global variable: %d\n", globalVar);}int main() {function(); // 输出:Global variable: 10return 0;}

在这个示例中,`globalVar` 是一个静态全局变量。它被声明为 `static`,意味着它的作用域仅限于当前文件,并且无法被其他文件访问。在 `function()` 函数中,可以直接访问和使用静态全局变量。

示例3:静态函数

#include static void staticFunction() {printf("Static function\n");}int main() {staticFunction(); // 输出:Static functionreturn 0;}

在这个示例中,`staticFunction()` 是一个静态函数。它被声明为 `static`,意味着它的作用域仅限于当前文件,无法被其他文件调用。


示例4:静态结构体成员

#include struct MyStruct {int x;static int y;};int main() {struct MyStruct obj;obj.x = 5;obj.y = 10; // 错误:无法在结构体中使用静态成员return 0;}

在这个示例中,`MyStruct` 结构体中的 `y` 成员被声明为静态。然而,C语言不允许在结构体中使用静态成员。

示例5:静态局部数组

#include void printArray() {static int arr[] = {1, 2, 3, 4, 5};int size = sizeof(arr) / sizeof(arr[0]);for (int i = 0; i < size; i++) {printf("%d ", arr[i]);}printf("\n");}int main() {printArray(); // 输出:1 2 3 4 5printArray();// 输出:1 2 3 4 5return 0;}

在这个示例中,`arr` 是一个静态局部数组。它被声明为 `static`,意味着它在函数调用之间保持持久性,并且其初始值只在第一次函数调用时初始化。每次调用 `printArray()` 函数时,都会打印相同的数组内容。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    183

    文章

    7642

    浏览量

    144592
  • static
    +关注

    关注

    0

    文章

    34

    浏览量

    11042
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    为什么单片机还在用C语言编程?

    。 而且C语言代码执行效率高,也比较精简,方便我们对代码进行移植,所以现今的单片机编程语言中C
    发表于 11-28 07:37

    C语言的分支结构介绍

    1.简单if语句 C语言中的分支结构语句中的if条件语句。 简单if语句的基本结构如下: 代码语言:javascript if(表达式) { 执行代码块; } 其语义是:如果表达式的值为真,则执行其后的语句,否则不执
    发表于 11-25 07:48

    C语言的常量介绍

    、-13; 实型常量:13.33、-24.4; 字符常量:‘a’、‘M’ 字符串常量:”I love china!” C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量
    发表于 11-24 07:12

    C语言的printf基本用法介绍

    , c=%c, money=%fn\", 100, \'@\', money); return 0; } 输出结果与上面相同。 以后的编程中,我们会经常使用 printf,说它是C
    发表于 11-12 07:04

    第4章 C语言基础以及流水灯的实现(4.3 4.4)

    4.3 C语言基本运算符 小学数学学过加、减、乘、除等运算符号以及四则混合运算,而这些运算符号C语言中也有,但是有些表达方法不一样,并且还
    的头像 发表于 10-29 15:30 177次阅读

    C语言中的内联函数与宏

    C编程中,内联函数和宏都用于避免函数调用的开销并编写可复用的逻辑部分,但它们工作方式和安全性方面存在显著差异。
    的头像 发表于 07-25 15:10 1711次阅读
    <b class='flag-5'>C</b><b class='flag-5'>语言中</b>的内联函数与宏

    Windows环境下32位汇编语言中文资料

    电子发烧友网站提供《Windows环境下32位汇编语言中文资料.rar》资料免费下载
    发表于 06-30 15:14 0次下载

    提高篇——C语言核心技术(中文版)

    该资料是“C编程语言”和“C语言链接库”的完整参考手册。这本书的目的是提供一本方便、可靠的手册,辅助日常的编程工作。本书描述C
    发表于 06-13 16:39

    深入理解C语言C语言循环控制

    C语言编程中,循环结构是至关重要的,它可以让程序重复执行特定的代码块,从而提高编程效率。然而,为了避免程序进入无限循环,C语言提供了多种循
    的头像 发表于 04-29 18:49 1729次阅读
    深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:<b class='flag-5'>C</b><b class='flag-5'>语言</b>循环控制

    static单片机中的妙用

    不要从字面意思误以为关键字 static 很安静,其实它一点都不安静。这个关键字 C 语言里主要有两个作用,下面我们就来介绍一下 C
    发表于 04-02 13:50 1次下载

    51单片机C语言学习笔记

    c51语言快速入门
    发表于 03-24 14:04 3次下载

    技术干货驿站 ▏深入理解C语言:嵌套循环与循环控制的底层原理

    多重循环,还是控制循环的执行流程,掌握这些知识都将为你的编程之路打下坚实的基础。嵌套循环C语言中,循环语句可以嵌套使用,即在一个循环中再使用另一个循环。这种嵌套结
    的头像 发表于 02-21 18:26 1039次阅读
    技术干货驿站  ▏深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:嵌套循环与循环控制的底层原理

    EE-62:C语言中访问短字内存

    电子发烧友网站提供《EE-62:C语言中访问短字内存.pdf》资料免费下载
    发表于 01-07 14:02 0次下载
    EE-62:<b class='flag-5'>在</b><b class='flag-5'>C</b><b class='flag-5'>语言中</b>访问短字内存

    EE-128:C语言中的DSP:从C调用汇编类成员函数

    电子发烧友网站提供《EE-128:C语言中的DSP:从C调用汇编类成员函数.pdf》资料免费下载
    发表于 01-07 13:48 0次下载
    EE-128:<b class='flag-5'>C</b><b class='flag-5'>语言中</b>的DSP:从<b class='flag-5'>C</b>调用汇编类成员函数

    深入理解C语言:循环语句的应用与优化技巧

    程序设计中,我们常常需要重复执行某一段代码。为了提高效率和简化代码,循环语句应运而生。C语言作为一门经典的编程语言,提供了多种循环控制结构,帮助程序员高效地实现重复操作。掌握循环语句
    的头像 发表于 12-07 01:11 1062次阅读
    深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:循环语句的应用与优化技巧