C语言中的不同存储类

c语言中的不同存储类

问题

C语言中有哪些不同的存储类?用程序解释它们。

解决方案

存储类被定义为存在于C程序中的变量或函数的作用域和生命周期。

存储类

C语言中的存储类如下:

autoexternstaticregister

自动变量/局部变量

关键字 – auto也称为局部变量作用域

局部变量的作用域仅限于声明它们的块内。

立即学习“C语言免费学习笔记(深入)”;

这些变量在块内部声明。

默认值 – 垃圾值

示例

 演示

#includevoid main (){   auto int i=1;{      auto int i=2;{         auto int i=3;         printf ("%d",i);      }      printf("%d", i);   }   printf("%d", i);}

输出

3 2 1

全局变量/外部变量

关键字 – extern

这些变量在块外声明因此它们也称为全局变量

作用域 – 全局变量的作用域在整个程序中可用。

默认值 – 零

示例

 实时演示

#includeextern int i =1; /* this ‘i’ is available throughout program */main (){   int i = 3; /* this ‘i' available only in main */   printf ("%d", i);   fun ();}fun (){   printf ("%d", i);}

输出

31

静态变量

关键字 – static范围 – 静态的范围变量的优点是它在整个程序中以及在函数调用之间保留其值。静态变量仅初始化一次。默认值 – 零 li>

示例

 现场演示

#includemain (){   inc ();   inc ();   inc ();}inc (){   static int i =1;   printf ("%d", i);   i++;}

输出

1    2    3

注册变量

关键字 − register

寄存器变量的值存储在CPU寄存器中,而不是存储在内存中,正常变量存储在内存中。

寄存器是CPU中的临时存储单元。

示例

 演示

#includemain (){   register int i;   for (i=1; i< =5; i++)      printf ("%d",i);}

输出

1 2 3 4 5

以上就是C语言中的不同存储类的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1445233.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 22:19:35
下一篇 2025年12月17日 22:19:44

相关推荐

  • c语言static关键字的作用是什么

    c语言static关键字的作用是什么 在C中,static主要定义全局静态变量、定义局部静态变量、定义静态函数。 推荐学习:c语言视频教程 在日常使用过程中,static通常有两个作用: 1、修饰变量 立即学习“C语言免费学习笔记(深入)”; ■ 静态全局变量:全局变量前加static修饰,该变量就…

    2025年12月17日
    000
  • static在c语言中是什么意思

    static在c语言中是什么意思 c语言中,static用来说明静态变量。 1、如果是在函数外面定义的,那么其效果和全局变量类似,即static说明的变量可以在当前c程序文件中使用。 2、如果是在函数内部定义的,那么这个变量只初始化一次,即使再次调用这个函数,这个static变量也不会再次被初始化,…

    2025年12月17日
    000
  • extern c作用

    extern “c”的主要作用就是为了能够正确实现c++代码调用其他c语言代码。 加上extern “C”后,会指示编译器这部分代码按C语言(而不是C++)的方式进行编译。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后…

    2025年12月17日
    000
  • c语言中auto是什么意思

    说起auto相信很多人都不知道是什么意思,下面创想鸟就带领大家学习一下c语言中auto是什么意思。 auto是C语言的一个关键字,关键字主要用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变…

    2025年12月17日
    000
  • auto是什么意思

    auto是c语言中的一种储存类型,并且是在语句内部使用,auto最大的特点就是当执行流程进入语句块的时候,初始化可以是任何表达式。 本文操作环境:linux5.9.8系统、Dell G3电脑、C++。 很多人都听说过auto,但是不知道auto是什么意思,更不知道C++和c语言当中的auto的用法,…

    2025年12月17日
    000
  • C#学习日记20—-static静态变量 与 常量

     在上一篇  委托(delegate)类型     中我定义public方法的时候使用了 static 关键字,导致后来无法通过 对象.方法名  的形式访问此方法,这一篇我们就具体学习下 static 静态变量。   变量:       在学习static静态变量之前,我们还是有必要来了解 变量 的…

    2025年12月17日
    000
  • php static的三种使用方法

    static关键字在PHP中有三种用途:1. 静态属性属于类本身,所有实例共享,通过self::或类名访问,可用于对象计数;2. 静态方法无需实例化即可调用,只能访问静态成员,适合工具函数;3. 函数内的静态变量在多次调用间保持值,用于缓存或计数,作用域仍限函数内。 在 PHP 中,static 关…

    2025年12月13日
    000
  • PHP中static和self关键字的区别

    在php中,self和static用于引用类中的成员,但行为不同。1. self始终指向定义它的类,在继承环境中无法识别子类覆盖的静态成员;2. static使用延迟静态绑定,运行时绑定到实际调用类,支持继承中的多态行为。例如,当子类覆盖父类静态属性时,self返回父类值,而static返回子类值。…

    2025年12月10日 好文分享
    000
  • 面试官:请详细说明final关键字的作用,以及它与static的区别

    前言: 果不其然,在上次的面试中面试官又问了这样的问题:请你说下final关键字的具体含义,并详细讲解它的作用以及它与static的区别。为了让正在面试中的各位重视这个问题,特意将答案整理出来以供大家参考。 1、final关键字的含义 final表面意思就是不可更改的,恒量的意思;类似于C语言中的c…

    2025年12月2日 java
    000
  • Java函数的参数是否可以定义为static?

    java 函数中,参数不能直接定义为 static。可通过以下方法实现类似效果:使用 final 关键字,确保参数值保持不变。使用匿名内部类,将参数赋值给 static 变量,并在内部类中访问。 Java 函数的参数是否可以定义为 static? 在 Java 中,函数的参数不能直接定义为 stat…

    2025年11月8日 java
    000
  • Java函数的返回值是否可以定义为static?

    java 函数的返回值可以定义为 static,但仅限于以下情况:1. 返回值与函数中的实例变量或方法无关。2. 函数本身是 static。如果返回值取决于实例变量或方法,或者函数不是 static,则不能使用 static 返回值。 Java 函数的返回值是否可以定义为 static? 在 Jav…

    2025年11月8日 java
    000
  • 在Java中如何理解final、const和static的区别

    Java中没有实际使用的const关键字,应使用final和static定义常量;final表示不可变,修饰变量、方法、类时分别确保值、重写、继承的限制;static表示属于类的成员,不依赖实例,可被类名直接调用;两者结合用于定义全局常量,如public static final String AP…

    2025年11月5日 java
    000

发表回复

登录后才能评论
关注微信