C/C++语言中的变量的4种存储类型

所有的数据都有两种类型
(1)数据类型: : 如 int,float 等。
(2)存储类型: : 总共有四种存储类型的变量,分别为自动变量(auto)、静态变量(static)、外部变量(extern)以及寄存器变量(register)。

1、o auto - - 函数中所有的非静态局部变量。

2、 register - - 一般经常被使用的的变量(如某一变量需要计算几千次)可以设置成寄存器变量register 变量会被存储在寄存器中,计算速度远快于存在内存中的非 register 变量。

3、 static - - 在变量前加上 static 关键字的变量。

4、 extern - - 把全局变量在其他源文件中声明成 extern 变量,可以扩展该全局变量的作用域至声明的那个文件,其本质作用就是对全局变量作用域的扩展。

主cpp源文件(命名main)如下:

#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <Windows.h>

using namespace std;

extern int extern_value;
static int zeng_yong= 24;	//全局静态变量
//int zeng_yong= 30;

//寄存器变量
void register_demo() {
	register int j = 0;
	printf("j:%d\n", j);

	for (register int i = 0; i < 1000; i++) {
		//. . . . . .
	}

	printf("&j:0x%p\n", &j);	//C++ 的register 关键字已经优化,如果我们打印它的地址,它就变成了普通的auto变量。

	{
		int k = 100;
		k += j;
	}
	printf("register_demo - register_demo:%d\n", zeng_yong);
}

//局部静态变量
void static_demo() {
	static int girl = 18;
	int yahuan = 17;

	++girl;
	++yahuan;
	printf("girl:%d  yahuan:%d\n", girl, yahuan);
	printf("register_demo - register_demo:%d\n", zeng_yong);
}

//外部变量
void extern_demo() {
	extern_value++;
	printf("extern_value:%d\n", extern_value);
}

int main(void) {
	int i = 0;	//C语言的auto不会报错,C++ auto 已经升级啦
	//register_demo();
	//static_demo();
	//static_demo();
	//static_demo();

	extern_demo();

	system("pause");
	return 0;
}

次cpp源文件(命名extern_demo)(必须添加否则会报错)如下:

#include <stdio.h>

int extern_value = 8888;

变量的作用域和生存周期
在这里插入图片描述
注:“快”表示在定义函数里的范围。

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
程序设计教程通常会涵盖编程的基本概念、语法、算法和数据结构等内容。在C/C++语言编程方面,它们是广泛使用的编程语言,可用于开发不同类型的应用程序,从简单的命令行程序到复杂的桌面应用和嵌入式系统。 在程序设计教程,首先会介绍C/C++语言的基本语法,包括变量、数据类型、运算符、控制结构和函数等。学习者会通过编写简单的程序来理解如何声明变量、使用运算符进行计算、使用条件语句和循环结构来控制程序流程,以及如何定义和调用函数。 接下来,教程会介绍C/C++语言的核心概念,如指针、数组和字符串等。学习者会了解如何使用指针来操作内存地址,如何使用数组来存储和处理多个数据,以及如何处理字符串和字符操作。 在更高级的教程,会介绍C/C++语言的面向对象编程(OOP)概念,如类、对象、继承和多态等。学习者将学习如何使用类和对象来组织和管理程序,如何使用继承和多态来实现代码的重用和灵活性。 此外,教程还可能包含常用算法和数据结构的介绍,如排序算法、查找算法和链表等。学习者可以学习如何实现这些算法和数据结构,并将其应用于解决实际问题。 总之,在C/C++语言的程序设计教程,学习者将通过理论和实践相结合的方式,逐步掌握编程的基础知识和技能,从而能够独立开发和维护各类型的程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学无止境12138

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值