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

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

3天内不再提示

【C语言经典面试题】static关键字的作用有哪些?

嵌入式物联网开发 来源:嵌入式物联网开发 作者:嵌入式物联网开发 2022-10-02 12:00 次阅读

C语言经典面试题】static关键字的作用有哪些?

经典面试题,有必要了解下!

1 问题描述

**如题所述,在C语言中,C语言的 **static 关键字的作用有哪些呢?

2 答案解析

作为一个从业多年的C程序员,我来给一个自己的参考答案;

  • **修饰 **某个函数

当static修饰某个函数时,表示这个函数是一个内部函数,它只能被当前.C文件的其他函数调用,而本C文件外的其他函数则不可调用这个函数。

  • **修饰 **全局变量

当static修饰全局变量时,表示这个全局变量仅在当前C文件中生效,其他的C文件中,并不可访问该全局变量。

  • **修饰 **局部变量

**当static修饰局部变量时,表示这个局部变量位于全局区,但是它仅能够被该函数内部访问,函数外部则不能访问;当函数内部访问时,该局部变量具有 ** 记忆性

3 示例代码

写一段示例代码:

​
​
#include 
#include static int test_func1(int a)
{
static int c = 5;
c = a;
return a + 1;
}
​
static int b;
​
int main(int argc, const char *argv[])
{
printf("test: %d\\n", test_func1(1));
return 0;
}

这段代码,则分别演示了3种情况,可以参考一下。

4 更多分享

[架构师李肯]

架构师李肯全网同名 ),一个专注于嵌入式IoT领域的架构师。有着近10年的嵌入式一线开发经验,深耕IoT领域多年,熟知IoT领域的业务发展,深度掌握IoT领域的相关技术栈,包括但不限于主流RTOS内核的实现及其移植、硬件驱动移植开发、网络通讯协议开发、编译构建原理及其实现、底层汇编及编译原理、编译优化及代码重构、主流IoT云平台的对接、嵌入式IoT系统的架构设计等等。拥有多项IoT领域的发明专利,热衷于技术分享,有多年撰写技术博客的经验积累,坚信【知识改变命运,技术改变世界】!

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

    关注

    180

    文章

    7528

    浏览量

    128428
  • 函数
    +关注

    关注

    3

    文章

    3866

    浏览量

    61308
  • 程序员
    +关注

    关注

    4

    文章

    931

    浏览量

    29570
  • static
    +关注

    关注

    0

    文章

    33

    浏览量

    10239
  • 全局变量
    +关注

    关注

    1

    文章

    26

    浏览量

    8914
收藏 人收藏

    评论

    相关推荐

    在NVM和本地\"内存中定义数组(静态 /global /local)的\"关键字是什么?

    在 NVM 和本地\"内存中定义数组(静态 /global /local)的\"关键字是什么? 还有与 32 位对齐的关键字怎么样。
    发表于 01-25 07:52

    硬件工程师经典面试题详解

    硬件工程师经典面试题详解
    的头像 发表于 11-20 15:08 749次阅读
    硬件工程师<b class='flag-5'>经典</b><b class='flag-5'>面试题</b>详解

    static关键字的三种用法

    在C语言中,关键字"static"可以用于不同的上下文,具有不同的作用。以下是"static"在C语言
    的头像 发表于 11-10 08:00 249次阅读
    <b class='flag-5'>static</b><b class='flag-5'>关键字</b>的三种用法

    IAR能否在整个工程中搜索关键字

    像mdk可以在整个工程中搜索关键字 IAR应该也有类似的功能吧,但是我貌似没有找到
    发表于 11-08 07:21

    在嵌入式中定义变量时volatile关键字作用是什么?

    在嵌入式中定义变量时volatile关键字作用?
    发表于 10-24 07:50

    c语言面试题集(完整版)

    电子发烧友网站提供《c语言面试题集(完整版).pdf》资料免费下载
    发表于 10-20 11:20 1次下载
    c<b class='flag-5'>语言</b><b class='flag-5'>面试题</b>集(完整版)

    浅析C语言中的regiseter关键字

    C语言中重要的关键字有很多,static const extern我们之前都讲过,还有一个在面试中出现的频率也比较高:register。
    的头像 发表于 08-25 17:10 830次阅读
    浅析C<b class='flag-5'>语言</b>中的regiseter<b class='flag-5'>关键字</b>

    LL库中常见关键字__STATIC_INLINE

    LL库中常见关键字__STATIC_INLINE,其定义见cmsis_gcc.h
    的头像 发表于 07-24 11:30 835次阅读
    LL库中常见<b class='flag-5'>关键字</b>__<b class='flag-5'>STATIC</b>_INLINE

    常见的嵌入式C语言面试题

    数组是最基本的数据结构,关于数组的面试题也屡见不鲜,本文罗列了一些常见的面试题,仅供参考。目前有以下18道题目。
    发表于 07-18 10:46 589次阅读

    C语言面试最常问的关键字

    大家好,我是嵌入式老林,从事嵌入式软件开发多年,今天分享的内容是C语言面试最常问的三个关键字,希望能对你有所帮助。
    发表于 07-11 12:41 202次阅读

    C语言关键字const的几种用法

    本期来讲解一个C语言关键字——const。
    发表于 06-21 11:05 1022次阅读
    C<b class='flag-5'>语言</b><b class='flag-5'>关键字</b>const的几种用法

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

    当`static`关键字用于不同的上下文时,其含义和作用也会有所不同。下面是更多示例代码,展示了`static`在不同用法下的具体效果:示例1:静态局部变量#includevoidin
    的头像 发表于 06-12 10:03 680次阅读
    【笔记】<b class='flag-5'>static</b> 在C<b class='flag-5'>语言</b>中的用法

    JAVA语言Static关键字使用

    注:为解决安卓开发中服务器IP随机变化导致客户端找不到服务器的问题,通过关键字Static修饰成员变量User_url,通过客户端主函数代码获取输入的服务器IP值赋值给User_url,然后其它Activity即可使用该静态变量值,从而正确找到服务器。
    的头像 发表于 06-04 16:45 334次阅读
    JAVA<b class='flag-5'>语言</b>中<b class='flag-5'>Static</b><b class='flag-5'>关键字</b>使用

    经典面试题】请使用C语言编程实现对IPV4地址的合法性判断

    经典面试题】请使用C语言编程实现对IPV4地址的合法性判断
    的头像 发表于 05-16 15:23 1130次阅读

    分享10道有趣的嵌入式C语言面试题及答案

    10个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!
    的头像 发表于 05-09 10:54 1695次阅读