switch case里的变量生命周期

 1 #include <stdio.h>
 2
 3 int main()
 4 {
 5
 6   int isw = 0;
 7   switch(isw)    {
 8
 9     case 1:          //just lables
10          int a = 0;  //a在这里定义,有效期到switch的},如果直接走了case2,此变量是没有定义的 ,所以编译不过.
11          break;      //trans to goto statement
12     case 2:
13          break;
14     default:
15          break;
16      }
17
18       getchar();
19     return 0;
20 }
时间: 2024-10-14 18:35:13

switch case里的变量生命周期的相关文章

java 静态变量生命周期(类生命周期)

Static: 加载:java虚拟机在加载类的过程中为静态变量分配内存. 类变量:static变量在内存中只有一个,存放在方法区,属于类变量,被所有实例所共享 销毁:类被卸载时,静态变量被销毁,并释放内存空间.static变量的生命周期取决于类的生命周期 类初始化顺序: 静态变量.静态代码块初始化 构造函数 自定义构造函数 结论:想要用static存一个变量,使得下次程序运行时还能使用上次的值是不可行的.因为静态变量生命周期虽然长(就是类的生命周期),但是当程序执行完,也就是该类的所有对象都已经

关于堆内存和普通变量生命周期的问题

来源:孙鑫老师c++教程第7集 在创建非模态对话框时 void CMyboleView::OnDialog(){ // TODO: Add your command handler code here方法一 TestDlg *ptdlg=new TestDlg(this); ptdlg->Create(IDD_DIALOG1,this); ptdlg->ShowWindow(TRUE); 方法二 CDialog1 dlg; dlg.Create(IDD_DIALOG1,this); dlg.S

Java内存区域和变量生命周期

在一台电脑上的内存存储区域分为6种: 1.寄存器: 寄存器是运行最快的,寄存器在系统中早就已经存在了,寄存器的数量是有限的,被严格要求            Java程序员不能显示的调用寄存器 2.栈:   栈中存储着基本数据类型的变量以及引用变量 栈中元素在超出其生命周期后会自动销毁             栈中元素一经创建,系统会为其分配内存空间,在其内存空间里存取的值是真值(真实存放的值)            栈中元素互不影响 每个在栈中的变量都有其自己对应的内存空间 里面存取着值  

如何在switch case中定义变量(不用花括号)

这个周末有幸见到了几位神交已久的库友(天天/迪迪/丁丁),大家一起扯了些有的没的,很开森! 天天考了我一个问题,在C语言里面,如何在switch case中定义一个变量?要求是不用花括号. 这个问题是背景是,下面的代码是编译不过的,因为在case后面不能直接定义变量. switch (v) {    case 1:       int a;       get_value_of_xx(&a);       set_yy(a);       break;    case 2:       //do

[shell] shell 变量生命周期, source, export

1. shell 的派生 用户登录到Linux系统后,系统将启动一个用户shell.在这个shell中,可以使用shell命令, 或声明变量,也可以创建并运行shell脚本程序.运行shell脚本程序时,系统将创建一个子shell. 此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建的shell.当一个脚本程序运行完毕,脚本shell将终止,返回到执行该脚本之前的shell. 从这种意义上来说,用户可以有许多 shell,每个shell都是由某个sh

static变量生命周期小研究

A页面:定义一个普通类,类包含一个静态变量a,值为:111111111111111111 B页面:修改a的值为:22222222222222 C页面:用来查看a的值 1.在vs2008中,先打开B,再打开C,C显示a的值为:222222222222222 就算用ie打开B,用chrome打开C,C仍然显示为:22222222222222,证明与客户端无关: 2.在IIS中,直接打开C,显示为:11111111111111111 证明静态变量的值与服务器有关 3.在IIS中,先打开B,再打开C,C

面向过程—面向对象(C++的封装,this)_内存四区_变量生命周期

1.面向对象主要涉及  构造函数.析构函数.虚函数.继承.多态等. 2.对各种支持 的底层实现机制 c语言中,数据 和 处理数据的操作(函数) 是分开来声明,即语言本身并没有支持 “数据和函数”的关联性. 在C++中,通过抽象数据类型(abstract data type, ADT),在类中定义数据和函数,来实现数据和函数直接的绑定. C++成员数据:static.nonstatic C++成员函数:static.nonstatic.virtual C++中的类class从面向对象理论出发,将变

static变量生命周期 在php和java中的不同

<%! static class Count { private static int count = 0; public static int getCount(){ count++; return count; } } %> <% out.print(Count.getCount()); %> 通过浏览器连续访问,会分别输出:1,2,3,4,5,6,........ <?php class Count{ private static $count = 0; public

Scala常用变量生命周期

val words = *** //在words被定义时取值 lazy val words = *** //在words被首次使用时取值 def words = *** //在每一次words被使用时取值 原文地址:https://www.cnblogs.com/itboys/p/9862132.html