900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > @value 静态变量_C/C++语言中的变量的4种存储类型

@value 静态变量_C/C++语言中的变量的4种存储类型

时间:2023-12-09 02:28:16

相关推荐

@value 静态变量_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:%dn", j);

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

//. . . . . .

}

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

{

int k = 100;

k += j;

}

printf("register_demo - register_demo:%dn", zeng_yong);

}

//局部静态变量

void static_demo() {

static int girl = 18;

int yahuan = 17;

++girl;

++yahuan;

printf("girl:%d yahuan:%dn", girl, yahuan);

printf("register_demo - register_demo:%dn", zeng_yong);

}

//外部变量

void extern_demo() {

extern_value++;

printf("extern_value:%dn", 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;

}

1234567891011121314151617181922232425262728293031323334353637383940414243444546474849505152535455565758

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

#include <stdio.h>

int extern_value = 8888;

123

变量的作用域和生存周期

注:“快”表示在定义函数里的范围

想要学习更多C/C++技术知识与分享,记得点击收藏与关注哦

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。