如何精讲C语言变量存储生命周期与作用域的实例代码?
- 内容介绍
- 文章标签
- 相关推荐
本文共计931个文字,预计阅读时间需要4分钟。
`auto` 类型:在 C++ 中,非静态局部变量存储在栈区,其值在变量初始化时随机。C++ 中的 `auto` 关键字可以自动推导变量类型,包括自动推导类类型。生命周期:块内+作用域:块内+程序内+
auto类型:非静态的局部变量存储类型都是auto,这些数据存储在栈区,不初始化变量的值时随机的。C++中的auto还可以自动推导类型。生命周期:块内 作用域:块内
程序:
#include <stdio.h> void test(void); int main() { // auto存储类型 auto b = 13; // C++新功能,auto自动推导类型 int a = 12; // auto存储类型的局部变量,存储在函数栈帧中 { int c = 11; printf("%d\n",a); printf("%d\n",c); } test(); printf("%d\n",a); return 0; } void test(void) { int d = 13; // auto存储类型的局部变量,存储在函数栈帧中 printf("%d\n",d); }
static类型:static静态存储类型的变量,可以作为局部变量和全局变量。作为全局变量的时候不能被外部文件所访问,静态变量只初始化一次,存储在静态区中。也可以用来修饰函数,这样外部文件无法调用该函数。
本文共计931个文字,预计阅读时间需要4分钟。
`auto` 类型:在 C++ 中,非静态局部变量存储在栈区,其值在变量初始化时随机。C++ 中的 `auto` 关键字可以自动推导变量类型,包括自动推导类类型。生命周期:块内+作用域:块内+程序内+
auto类型:非静态的局部变量存储类型都是auto,这些数据存储在栈区,不初始化变量的值时随机的。C++中的auto还可以自动推导类型。生命周期:块内 作用域:块内
程序:
#include <stdio.h> void test(void); int main() { // auto存储类型 auto b = 13; // C++新功能,auto自动推导类型 int a = 12; // auto存储类型的局部变量,存储在函数栈帧中 { int c = 11; printf("%d\n",a); printf("%d\n",c); } test(); printf("%d\n",a); return 0; } void test(void) { int d = 13; // auto存储类型的局部变量,存储在函数栈帧中 printf("%d\n",d); }
static类型:static静态存储类型的变量,可以作为局部变量和全局变量。作为全局变量的时候不能被外部文件所访问,静态变量只初始化一次,存储在静态区中。也可以用来修饰函数,这样外部文件无法调用该函数。

