广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言中static和auto用法详解
  • 146
分享到

C语言中static和auto用法详解

2024-04-02 19:04:59 146人浏览 八月长安
摘要

目录static的第一种用法:定义为静态变量static的第二种用法:有理说不清,直接代码见真知auto的用法:直接代码见真知总结static的第一种用法:定义为静态变量 何为静态变

static的第一种用法:定义为静态变量

何为静态变量?存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。就是只进行一次初始化。不理解?看代码!

代码见真知:

#include<stdio.h>
int main()
{
	void fun();   //定义一个空函数
 
	for(int i=0;i<3;i++)
	{
		fun();    //调用函数
	}
	return 0;
} 
void fun()  
{
	int i=0; 
	static int static_i=0;
 
	printf("没有加static的结果为:%d\n",i);
	printf("加了static的结果为:%d\n",static_i); 
 
	i++;    //没有加static,i最终都会被初始化为0
 
	static_i++;  //加了static,只初始化一次,后面继续累加
 
	printf("\n");
}

运行结果:

由结果可以看出有static的在持续累加,除了第一次没有再初始化。

static的第二种用法:有理说不清,直接代码见真知

#include<stdio.h>
int main()
{
	int i,sum;
	sum=2;
 
	for(i=0;i<3;i++)
	{
        //外置模块
		printf("外置模块为:%d\n",sum);
		sum++;
 
        //内置模块
		{
			static int sum=1;  //局部重新定义sum的初始值
			printf("内置模块为:%d\n",sum);
			sum++;
		}
 
 
		printf("\n");
	}
	return 0;
} 

运行结果:

 由结果可见:外置模块和内置模块是互不影响的,这就是static的第二种用法,保持局部一部分稳定,不会随外部的变化而变化。

auto的用法:直接代码见真知

#include<stdio.h>
int main()
{
	int i,sum;
	sum=2;
	for(i=0;i<3;i++)
	{
        //外部
		printf("外置模块为:%d\n",sum);
		sum++;
 
        //局部
		{
			auto int sum=1; 
			printf("内置模块为:%d\n",sum);
			sum++;
		}
 
 
		printf("\n");
	}
	return 0;
} 

代码看不懂?结合运行结果就懂了:

由结果显而易见:外置模块持续累加,内置模块全部为1,与static的第二种用法相比较,auto局部不断进行初始化 ,而static是局部除第一次外不再初始化。

static和auto的相同之处是都能只在局部进行改变,与外置模块互不干涉。

总结

到此这篇关于C语言中static和auto用法详解的文章就介绍到这了,更多相关C语言static和auto内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C语言中static和auto用法详解

本文链接: https://www.lsjlt.com/news/162714.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言中static和auto用法详解
    目录static的第一种用法:定义为静态变量static的第二种用法:有理说不清,直接代码见真知auto的用法:直接代码见真知总结static的第一种用法:定义为静态变量 何为静态变...
    99+
    2022-11-12
  • C语言中static和auto用法是什么
    这期内容当中小编将会给大家带来有关C语言中static和auto用法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。static的第一种用法:定义为静态变量何为静态变量?存储在静态数据区的变量会在程序...
    99+
    2023-06-26
  • C语言中auto,register,static,const,volatile的区别详细解析
    1)auto这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变...
    99+
    2022-11-15
    register static const volatile
  • C语言关键字auto与register及static专项详解
    目录1.auto2.register3.static1.auto 在解释 auto 之前,先来了解一下什么是局部变量。 在很多印象中,对局部变量的描述是:函数内定义的变量称为局部变量...
    99+
    2022-11-13
  • c语言中static和extern的用法详细解析
    一,static和extern:大工程下我们会碰到很多源文档。文档a.c复制代码 代码如下:static int i; //只在a文档中用int j;  &nbs...
    99+
    2022-11-15
    c语言 extern static
  • c语言static关键字用法详解
    目录1.static修饰全局变量2.static修饰函数3.static修饰局部变量总结:1.static修饰全局变量 我们创建两个源文件,一个test.c,一个main.c 现在...
    99+
    2022-11-12
  • C语言中static的使用方法实例详解
    目录前言一、static修饰变量1.修饰局部变量2.修饰全局变量二、static修饰函数补充:static的好处是什么?总结前言 static关键字不仅可以用来修饰变量,还可以用来修...
    99+
    2022-11-13
    c语言static的用法 static作用 c语言 c语言static关键字的用法
  • 详解C语言中的Static关键字
    一、static关键字的基本含义 首先,static关键字的意思是静态的,用于修饰局部变量,全局变量和函数,修改其数据储存类型 1.局部变量:在任意一个函数内部定义的变量(不加sta...
    99+
    2022-11-13
  • C语言中auto怎么用
    这篇文章主要为大家展示了“C语言中auto怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C语言中auto怎么用”这篇文章吧。你以为我说的自动变量类型auto吗非也,我们知道C语言中其实也有...
    99+
    2023-06-16
  • C语言之详解静态变量static
    目录关键字static    修饰局部变量运行结果:调用静态变量static运行结果:结论: 修饰全局变量 代码执行:代码执行:结论...
    99+
    2023-05-15
    C语言详解static关键字 C语言static关键字 详解static关键字
  • C++static详解,类中的static用法说明
    目录C++static详解,类中static用法static特点:用来控制存储方式和可见性类中的static关键字什么时候用static?为什么要引入static?c++中stati...
    99+
    2022-11-13
  • C语言中static的用法有哪些
    在C语言中,static关键字有以下几种用法:1. 在全局变量中使用static:当static关键字用于全局变量时,它的作用是限制...
    99+
    2023-08-08
    C语言 static
  • C语言入门篇--关键字static详解
    目录1.修饰局部变量1.1作用1.2举例(1)不加static(2)加static(3)静态局部变量的初始化只会进行一次2.修饰全局变量2.1作用2.2举例(1)不加static(2...
    99+
    2022-11-12
  • C语言中如何使用static
    这篇文章主要介绍C语言中如何使用static,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.static 可以修饰局部变量首先让我看看这段代码#include<stdio.h>void tes...
    99+
    2023-06-22
  • c语言中auto的作用是什么
    在C语言中,auto是一种存储类说明符,用于声明自动变量。auto关键字可以用来显式声明变量,默认情况下所有局部变量都是自动变量,所...
    99+
    2023-10-28
    c语言
  • c语言中的auto有什么作用
    在C语言中,auto是一种存储类别,用于声明局部变量。auto关键字用于隐式声明局部变量,默认情况下,所有局部变量都是auto类型的...
    99+
    2023-10-12
    c语言
  • C语言中static的使用介绍
    目录1.static 可以修饰局部变量2. static 可以修饰全局变量3.static 可以修饰函数总结1.static 可以修饰局部变量 首先让我看看这段代码 #inclu...
    99+
    2022-11-12
  • C/C++ extern和static的使用详解
    目录前言externstaticc++ static members in class总结前言 在讲到extern和static的时候先了解一下定义和声明的基本概念 定义(defin...
    99+
    2022-11-13
  • C 语言中 static 的作用是什么
    这篇文章给大家介绍C 语言中 static 的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。static 用来说明静态变量。如果是在函数外面定义的,那么其效果和全局变量类似,但是,static定义的变量只能在...
    99+
    2023-06-03
  • c语言中关键字Static怎么用
    这篇文章将为大家详细讲解有关c语言中关键字Static怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、可执行程序内存分配1. 可执行程序程序分段一个程序的3个基本...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作