作用域和标识符

作用域
一个变量,仅在它所定义的大括号中有效
不同作用域中的变量,拥有独立的内存空间
当作用域结束时,该变量的数据会从内存中移除
代码示例1:
static void print()
{
int a = 1,b = 2;
console.ReadLine(a+b);
}
static void Main(string[] args)
{
int a = 0 ,b = 1;
print();
Console.ReadLine(a + b);
}
输出结果:
3 → print函数中的输出
1 → 主函数中的输出
代码示例2:
static void print()
{
int a = 0;
a++;
console.ReadLine(a);
}
static void Main(string[] args)
{
print();
print();

}

函数中的作用域
不同的函数之间,变量相互独立,互不干扰
每一次对函数的调用,都是独立运行
一个变量,仅在它所定义的大括号中有效
不同作用域中的变量,拥有独立的内存空间
当作用域结束时,该变量的数据会从内存中移除
代码示例1:
static void print()
{
int a = 1,b = 2;
console.ReadLine(a+b);
}
static void Main(string[] args)
{
int a = 0 ,b = 1;
print();
Console.ReadLine(a + b);
}
输出结果:
3 → print函数中的输出
1 → 主函数中的输出
代码示例2:
static void print()
{
int a = 0;
a++;
console.ReadLine(a);
}
static void Main(string[] args)
{
print();
print();

}

函数中的作用域
不同的函数之间,变量相互独立,互不干扰
每一次对函数的调用,都是独立运行
标识符
在代码中,需要自行命名的位置
标识符:
变量名,函数名,类名,接口名,委托名,其它 → 必须符合标识符的命名规范
C#语言中标识符的命名规范
标识符:必须由数字、字母、下划线组成,并且不能以数字开头
若不满足该要求,则出现编译错误
具体标识符命名的其它要求
标识符
变量名:首字母小写
函数名:首字母大写
驼峰命名法,忘文知义
在代码中,需要自行命名的位置
标识符:
变量名,函数名,类名,接口名,委托名,其它 → 必须符合标识符的命名规范
C#语言中标识符的命名规范
标识符:必须由数字、字母、下划线组成,并且不能以数字开头
若不满足该要求,则出现编译错误
具体标识符命名的其它要求
标识符
变量名:首字母小写
函数名:首字母大写
驼峰命名法,忘文知义

时间: 2024-10-17 15:31:43

作用域和标识符的相关文章

【转】C语言中标识符的作用域、命名空间、链接属性、生命周期、存储类型

Technorati 标签: C,标识符,作用域,命名空间,链接属性,生命周期,存储类型,scope,name space,linkage,storage durations,lifetime 无论学习哪一种语言,都免不了要讨论这些问题.而且这些问题,深究起来有时也让我们很迷惑. 标识符的定义无需多讲,只需注意不仅仅是指变量,还有函数,标签等. 1. 标识符的作用域 作用域是指允许对标识符进行访问的位置范围.按照C99(章节6.2.1),C语言的作用域共有 4 种类型:文件作用域.代码块作用域.

标识符解析、作用域链、运行期上下文、原型链、闭包

本文讲到的是如何从数据访问层面上提高JS 代码的执行效率.总的来讲有以下几条原则: 函数中读写局部变量总是最快的,而全局变量的读取则是最慢的: 尽可能地少用with 语句,因为它会增加with 语句以外的数据的访问代价: 闭包尽管强大,但不可滥用,否则会影响到执行速度以及内存: 嵌套的对象成员会明显影响性能,尽量少用: 避免多次访问对象成员或函数中的全局变量,尽量将它们赋值给局部变量以缓存. 这么几句话看似简单,但要深刻理解其中的道理则需涉及到JS的 标识符解析.作用域链.运行期上下文(又称为执

浅谈标识符作用域

作用域 定义:作用域是一个标识符在程序正文中有效的区域. 种类:1;函数原型作用域 ? 2:局部作用域 ? 3:类作用域 ? 4:命名空间作用域 1;函数原型作用域; 在函数原型声明时形参的作用范围就是函数原型作用域. eg: double area(double radius); 标识符radius的作用范围就在函数area形参列表的左右括号之间,而不能在其他地方引用. 2;局部作用域:函数形参列表中形参的作用域,从形参列表的声明处开始,到整个函数体结束时为止.具有局 eg: #include

【转】作用域、链接属性、存储类型总结--转载学习,很清晰,很详细

标识符: 首先,在讨论这三种东西之前,详细说明一下C语言中的标识符. 标识符是用户编程为变量.常量.函数.语句等指定的名字,就好比人名一样的东西. 标识符的命名规则如下: 1.只能由字母.数字.下划线组成,并且首字符不能是数字: 2.不能把C语言的关键字作为标识符: 3.对大小写敏感: 其次,需要明确,作用域和链接属性是在标识符范畴内讨论的,存储类型是在标识符中的变量范畴内讨论的. 作用域: 标识符的作用域就是程序中该标识符可以被使用的区域,由它的声明位置决定. 分为以下四类: 1.文件作用域

嵌入式 Linux C语言(八)——存储类型、作用域、生命周期、链接属性

嵌入式 Linux C语言(八)--存储类型.作用域.生命周期.链接属性 一.存储类型 C语言中,每个变量和函数都有两个属性:数据类型和数据的存储类型. 变量的存储类型是指存储变量值的内存类型.变量的存储类型决定变量何时创建.何时销毁以及它的值将保持多久.计算机中有三个地方可以用于存储变量:普通内存,运行时堆和栈,硬件寄存器.变量的存储类型取决于声明变量的位置. C语言存储类别说明符: 说明符 用    法 auto 只在代码块内变量声明中被允许, 表示变量具有本地生存期 extern 出现在顶

javascript从作用域到闭包-笔记

读<你不知道的javascript>一书做个笔记;编译原理:    js是一门编译型的语言,与传统编译语言类似,传统编译的过程分为三个阶段 ;     1. 分词/词法分析; 2.解析/语法分析; 3.代码生成 ;     js引擎在编译时会比较复杂 具体多么复杂我也不造,大概就是对1,3 进行了优化使其快速编译完成并立即执行,这里就要注意了,,js是在执行前编译的 也许几微秒就OK了1.作用域 :  // 收集并维护所有声明的变量组成一个查询机制,用一套严格的规则以确保当前执行的代码对这些变

YDKJS:作用域与闭包

作用域与闭包 什么是作用域 编译器 理解作用域 嵌套的作用域 词法作用域 词法分析时 欺骗词法作用域 函数与块作用域 函数中的作用域 隐藏标识符于普通作用域 函数作为作用域 块作为作用域 提升 先有鸡还是先有蛋? 编译器再次袭来 函数优先 作用域闭包 启蒙 事实真相 循环 + 闭包 模块 什么是作用域 作用域是一组定义在何处储存变量以及如何访问变量的规则. 编译器 javascript 是编译型语言.但是与传统编译型语言不同,它是边编译边执行的.编译型语言一般从源码到执行会经历三个步骤: 分词/

函数,作用域,树,简介

函数嵌套 在一个函数中定义了另一个函数 函数有可见范围,这就是 作用域 概念 内部函数不能在外部直接使用,会抛NameError异常,因为它不可见 作用域 一个标识符的可见范围,这就是标识符的作用域.一般常说的是变量的作用域 全局作用域 在整个程序运行环境中都可见 局部作用域 在函数.类等内部可见 局部变量使用范围不能超过其所在局部作用域 全局变量global x = 5 def foo(): global x x += 1 使用global关键字变量,将foo内的x声明为使用外部的全局作用域中

函数,递归函数,返回值作用域,插入排序

函数数学定义:y=f(x) ,y是x的函数,x是自变量.y=f(x0, x1, ..., xn)Python函数由若干语句组成的语句块.函数名称.参数列表构成,它是组织代码的最小单元完成一定的功能函数的作用结构化编程对代码的最基本的封装,一般按照功能组织一段代码封装的目的为了复用,减少冗余代码代码更加简洁美观.可读易懂函数的分类内建函数,如max().reversed()等库函数,如math.ceil()等 def语句定义函数def 函数名(参数列表):函数体(代码块)[return 返回值]函