《Essential c++中文版》读书笔记--静态局部变量(一)

   今天碰到一个局部静态变量的作用域的问题。有些诱惑,所以回去上机实践了以下,总结如下:

cpp 代码
  1. #include <stdio.h></stdio.h> <stdio.h></stdio.h> <stdio.h>
  2. int* f1(int i)   
  3. {   
  4.   
  5.     static int s = 2;  //局部静态变量,其只在本函数之内存在。但又与局部变量相区别,其在离开函数时并不消失   
  6.     s = s +i;   
  7.     return &s;  //可以返回地址   
  8. }   
  9. void main()   
  10. {   
  11.  int *a =   f1(1);   
  12.   
  13.  printf("cout:%d\n",*a);   
  14.     
  15.  a = f1(1);    // s只初始化一次   
  16.   
  17.   printf("cout:%d\n",*a);  //   
  18.   
  19.   //s  = s+1;   出错,s在此范围不存在。其不是file scope   
  20.   
  21. }  

运行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值