C语言中变量生命周期与作用域实例代码如何精讲?
- 内容介绍
- 文章标签
- 相关推荐
本文共计920个文字,预计阅读时间需要4分钟。
auto类型:非静态的局部变量存储类型都是auto,这些数据存储在栈区,未初始化变量的值是随机的。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静态存储类型的变量,可以作为局部变量和全局变量。作为全局变量的时候不能被外部文件所访问,静态变量只初始化一次,存储在静态区中。也可以用来修饰函数,这样外部文件无法调用该函数。
本文共计920个文字,预计阅读时间需要4分钟。
auto类型:非静态的局部变量存储类型都是auto,这些数据存储在栈区,未初始化变量的值是随机的。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静态存储类型的变量,可以作为局部变量和全局变量。作为全局变量的时候不能被外部文件所访问,静态变量只初始化一次,存储在静态区中。也可以用来修饰函数,这样外部文件无法调用该函数。

