注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

融智技术学院

融智技术学院163分站,为广大好友提供更多的帮助

 
 
 

日志

 
 

【C语言每日一问】怎样修改一个本地的静态变量而不用调用声明它的函数  

2014-03-14 17:26:40|  分类: C语言 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
问题:这是一个面试问题,但我不知道怎么做

假设我有一个本地静态变量声明在一个函数中。面试者不让我调用函数,修改它是可能的吗?我不知道怎么做?但我认定也许我们可以得到本地静态变量的地址通过某种方式?

 

回答:它被允许返回一个指向有静态存储的对象的指针,比如:

  • #include <stdio.h>
  •  
  • int *foo(void) {
  •     static int x;
  •     printf("%d\n", x);
  •     return &x;
  • }
  •  
  • int main(void) {
  •     int *p = foo();
  •     *p = 10;
  •     foo();
  •     return 0;
  • }

将会打印

  • 0
  • 10

作为另一种选择,你当然可以传递一个指针到一个指针,然后保存,而不是返回。

  评论这张
 
阅读(7)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017