函数重载 全局变量与局部变量



c++函数重载:
   c语言的定义都需要放在最上面,c++不需要
   c语言不支持函数的重载

 

重载函数的定义:
   在相同的声明域中的函数名相同的,而参数表不同的,即通过函数的参数表而唯一标识并且来区分函数的一种特殊的函数。

 

C++运算符重载的相关规定如下:
 ①不能改变运算符的优先级;
 ②不能改变运算符的结合型;
 ③默认参数不能和重载的运算符一起使用;
 ④不能改变运算符的操作数的个数;
 ⑤不能创建新的运算符,只有已有运算符可以被重载;
 ⑥运算符作用于C++内部提供的数据类型时,原来含义保持不变。

 

全局变量:定义在函数外面的变量
   ①生命周期:从程序运行开始创建,程序结束开始销毁
   ②作用域:从定义文件开始,到文件结束都可以用
   ③默认值:0
   ④链接属性:static静态全量
     如果加了static,链接属性就是内部,不加就是外部
  intg_a; //全局变量
   externintg_b; //g_b在其他文件有定义
   static int g_c=200; //只能在内部(本文件)中使用
   ⑤存储区域:全局变量区

 

局部变量:定义在函数内部的函数,包括形参
   ①生命周期:进入函数时创建,函数退出销毁
   ②作用域:只能在本函数有效
   ③默认值:随机值
   ④链接属性:无
   ⑤存储区域:栈里面

 

static局部变量:
   ①生命周期:第一次进入函数时创建,程序退出时才销毁
   ②作用域:函数内部
   ③默认值:0
   ④链接属性:无
   ⑤存储区域:静态存储区域

 

void Fun()

   inta=0;
   a++;
   printf(“%d
”,a);

 

输出的a为:111 1 1 1 1 1 1 1
    每次用完之后a的值又会重新初始化为0

 

void Fun()

    staticinta=0;
   a++;
   printf(“%d
”,a);

输出的a为:123 4 5 6 7 8 9 10
    因为加了static,因此每次用完之后会保留a的值,并不会再初始化为0

 


stack栈:放局部变量的
   堆栈一般指的是栈
   特点:只管用,不管回收,内存是操作系统管理
   缺点:很小,只有1M

 

heap堆:自己申请内存,自己释放内存,是动态内存,自己管理

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值