A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

现在推出每日一题按照格式回答合格的加技术分或者金币。小伙伴们帮你们的回答打出来吧,让我们共同进步!!!


第二题:请你说说代码段的作用,局部变量和全局变量知识点?


答:XXX(有代码的插入代码模式)。

注:答出你的理解就行,复制抄袭不算。

参与人多将持续这个互动

16 个回复

倒序浏览
本帖最后由 ‍___________H 于 2014-9-6 16:34 编辑

代码段的作用,首先呢 肯定是好看,增加可读性,一段一段很清楚。然后有些变量只要在这一函数内部有效,就是所谓局部变量,出了代码段外用不到,这样可以节省内存,使用完内存就释放了,提高效率。。。。这是我的理解
回复 使用道具 举报
代码段将一个整体的代码放到一块,将不一个整体的代码区分开。全局变量在作用域在整个程序,局部变量的作用域只是局部。恩,,就这吧,求加分
回复 使用道具 举报
我的理解:代码段使程序具有可读性,也体现代码程序的规则习惯,让自己和别人一目了然,体现出每个程序员的编程风格,全局变量也就是在整个程序内都有效,都可以调用它,在这个程序运行完之前它都应该占用内存,局部变量也就是在定义他的{}内有效,用完就释放内存,比较节省内存空间,这是我的浅解
回复 使用道具 举报
我是刚开始学习好像代码段是用来存程序的,呵呵本人小白就知道一点这个
回复 使用道具 举报
代码段是一段独立的内存区域
在代码段里的变量,将会替代全局变量发生作用,而且代码段里的变量,并不累加到其它作用域里,当代码段执行完全,代码段里声明的变量也将结束生命,除非是静态变量,静态变量的内存地址将保留,直到程序结束。
全局变量,可以在多个文件中共享
局部变量 可以在本文件中共享,如果是在代码段或函数的作用域中声明的,那么将只能在固定作用域起作用。
局部变量的作用域取决于它的位置。
回复 使用道具 举报
代码段为了工整,也为了标识出一段内存区域,在这个区域中的变量在C中是可以和其它区域的变量重名的,但是并不会覆盖,但是其值只会在这个代码段中有效。比如for(int i=0;i<10;i++) 这个i出去了,就消失了
全局变量,就是可以在本文件和其它文件共享的变量。
局部变量,他的作用域取局于他的位置,在函数和代码段之外,就是本文件可用的局部变量,如果在函数和代码段之内,就是函数和代码段的局部变量,局部变量的作用域取决于它的位置。

回复 使用道具 举报
zhaihao 来自手机 中级黑马 2014-9-6 18:34:08
8#
代码段就是其实就是局部代码块,限定了该段代码的生命周期,使用过后释放出内存。有很好的可操作性,能够创造多种功能而不长久占用内存空间。局部变量定义在函数语句局部代码块中,只在所属的区域有效,它存在于栈内存方法中,随着所属区域的执行而存在,随着所属区域的结束而释放,它没有默认的初始化值。全局变量定义在整个类中,整个类都可以访问,它存在于堆内存,随着对象的存在而存在,对象的小时而消失,它有默认的初始化值!这是我的理解

评分

参与人数 1技术分 +1 黑马币 +2 收起 理由
★彬★卍囧神 + 1 + 2

查看全部评分

回复 使用道具 举报
代码段的作用:就是实现程序某一功能的代码,它可以使一个大功能,也可以使一个小功能,多个代码段的整合可以实现的心得功能,利于区分,在调试程序的时候也方便一些。
局部变量:可以理解为某个方法模块中的变量,只能在当前方法中使用,在方法外是不可以调用这个局部变量的。
全局变量:是在整个类中都可以使用的,包括类中的方法同样可以调用这个变量。
需要注意的是:局部变量尽可能不要与全局变量名相同,否则在局部代码块中局部变量可能会覆盖全局变量,引起不必要的麻烦。
我的理解是这样的,酌情给分吧。

评分

参与人数 1技术分 +1 黑马币 +1 收起 理由
★彬★卍囧神 + 1 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 达摩八戒 于 2014-9-6 19:50 编辑

代码段在C语言里面基本就是函数的同义语,能够完成特定功能。
代码段里面定义的是局部变量,代码段外面的是全局变量;
局部变量的作用域是代码段里面,代码段执行完毕退出,变量失效;也即从内存中释放;
除非必要,一般最好用代码段和局部变量,这样做的好处是:1、代码重用性好;2、节省内存;3、方便团队协作

  1. #include<stdio.h>
  2. //1、第一个代码段,自定义函数计算两数之和
  3. int sum(int num1,int num2){
  4.   return num1+num2;
  5. }
  6. //2、第二个代码段,自定义函数计算两数平均数
  7. int average(float num3,float num4){
  8.   return (num3+num4)/2;
  9. }
  10. //3、入口函数
  11. int main(){
  12.   int sum1;
  13.   float average1;
  14.   sum1= sum(10,59);
  15.   average1=average(2.4f,88.8f);
  16.   printf("%d,%f\n",sum1,average1);
  17.   return 0;
  18. }
复制代码



评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
★彬★卍囧神 + 1 + 3 很给力!

查看全部评分

回复 使用道具 举报
本帖最后由 小月格子猫 于 2014-9-6 22:12 编辑

代码段
1  可读性,代码块增加了代码的可读性
2  逻辑性 ,一段代码的开始与结束取决与代码段的{}
局部变量,与全局变量
局部变量:1 定义在函数内部变量,
                     2 作用域:在它所在代码段的开始到结束  
                     3 生命周期:当我们程序执行定义的哪一行的时候被创建,到程序离开其所在代码块时,销毁
                     4 格式:变量类型 变量名称
                     5 存储区域:栈
全局变量    1 定义在函数外部变量,在所有函数中都是有效的
                    2 作用域:如果没有变量声明,是从定义的那一行开始,直到文件结束,如果有声明的话,它可以在文件文件
                       任意位置都可以使用它
                   3  生命周期:从程序启动就会为之分配存储空间,直到程序退出才会销毁
                   4  格式 :变量类型 变量名称
                   5  存储区域:全局区            
局部变量与全局变量的注意点:
                    1   局部变量与全局变量的定义都不可以重复,但全局变量的声明可以重复;
                    2  如果全局变量只有声明没有定义,那么系统会自动把这个全局变量初始化为0;
                    3  在方法内部定义与全局变量同名的局部变量,那么在局部变量的作用域内,局部变量会覆盖全局变量;
               //=   =我就只想到了这几条   





评分

参与人数 1技术分 +2 黑马币 +1 收起 理由
★彬★卍囧神 + 2 + 1

查看全部评分

回复 使用道具 举报
代码段本质上是和其他变量类似。不同的是,代码段存储的数据是一个函数体。使用代码段,你可以像调用其他标准函数一样,传入参数数,并得到返回值。局部变量的变量生命周期,是在代码段内部声明到该代码段结束,程序运行完该代码段,局部变量则消失。全局变量的生命周期是从声明到程序结束。
回复 使用道具 举报
小月格子猫 发表于 2014-9-6 20:32
代码段
1  可读性,代码块增加了代码的可读性
2  逻辑性 ,一段代码的开始与结束取决与代码段的{}

回答的很不错,在补充一点,全局和局部的可以定义相同的?
回复 使用道具 举报
★彬★卍囧神 发表于 2014-9-6 21:59
回答的很不错,在补充一点,全局和局部的可以定义相同的?

我在补充一下好了
我怕写的太繁琐了,看起来,可能让人心烦 = =
回复 使用道具 举报
代码段在函数{}中,完成其特定功能,增加代码可读性
局部变量:定义在函数内部变量,因为它们只在所在函数内部有效
   作用域:从定义的那一行开始知道其所在代码块结束为止
   生命周期:当我们程序执行定义的哪一行的时候被创建,到程序离开其所在代码块时,销毁
   格式:变量类型 变量名称
   存储区域:栈
   全局变量:定义在函数外部变量,在所有函数中都是有效的
   存储区域:全局区
   作用域:如果没有变量声明,是从定义的那一行开始,直到文件结束,如果有声明的话,它可以在文件文件任意位置都可以使用它

   全局变量定义格式:变量类型 变量名称 = 值
   全局变量声明:变量类型 变量名称
   注意点:全局变量的定义是不可以重复,但声明是可以重复
   生命周期:从程序启动就会为之分配存储空间,直到程序退出才会销毁

   如果全局变量只有声明没有定义的那么系统会自动把这个全局变量初始化为0;
   在方法内部定义与全变量同名的局部变量,那么在局部变量的作用域内,局部变量覆盖全局变量
回复 使用道具 举报
代码段的作用,我理解的就是为了程序可读性更好而把一个功能给封装起来
局部变量,就是在一个方法内定义的变量,生命周期是从定义的这一行开始到这个方法结束
全局变量,就是在方法外定义的变量,生命周期是从定义的这一行开始到程序结尾处结束
回复 使用道具 举报
代码段就我得理解就是我将一个整体的功能模块封装起来,与其他不是该模块功能的代码区分开。增强可读性,封装性。
局部变量:一般在函数内部定义的变量就是局部变量,它只在这个函数内部使用,这个函数使用完毕过后就释放了。

而全局变量:一般我再A函数中赋值了某个变量,而在B函数中,我想要根据这个变量的当前赋值来进行某种操作,这种又在A中可以使用,并且赋值能够保存,又在B中可以使用,而其赋值等同于最后一次操作它的变量,就是全局变量。

像一些计数器啥的= =我通过一些函数改变了计数器的值,在某个以后的函数根据计数器的值计算啥,一般我就会用全局变量了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马