| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 795 人关注过本帖
标题:[求助]一个诡异的问题:static和形参
只看楼主 加入收藏
blackorchis
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-7-4
收藏
 问题点数:0 回复次数:4 
[求助]一个诡异的问题:static和形参

1、理论上讲,形参具有局部变量的性质,也就是说,如果不加static,它的生存期为函数运行期;
2、static可以将一个局部变量的生存期保持在整个程序执行期间。
3、如果将一个形参用关键字static修饰又会是什么结果呢?
例如:
#include <stdio.h>

int max( static int x, static int y );

void main( void )
{
int a = 5;
int b = 7;
int e = 1;
int f = 8;
int m1, m2;
m1 = max( a, b );
m2 = max( e, f );
}

int max( static int x, static int y )
{
return x > y? x : y;
}

程序运行时,在两次调用max()函数期间,x和y的值并未保持,是static对形参不起作用吗?还是别的原因?
请大家不吝指教!!

搜索更多相关主题的帖子: static 形参 
2006-12-17 21:59
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 

static 只针对你调用的函数是静态

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-12-18 09:40
blackorchis
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-7-4
收藏
得分:0 
谢谢回复。你的意思是它虽然存在,但在别的函数中无法引用或察看,是不?
2006-12-18 23:12
senyee
Rank: 1
等 级:新手上路
帖 子:422
专家分:0
注 册:2006-11-28
收藏
得分:0 

我的机子不支持
int max( static int x, static int y )

出现错误:错误 noname.c 18: 不兼容的存储器类型


菜鸟~~请多指教~~
2006-12-18 23:48
w362034710
Rank: 1
等 级:新手上路
帖 子:169
专家分:0
注 册:2006-12-2
收藏
得分:0 
明显咯,,static只有把函数也定义成静态才行哦,,
2006-12-19 10:26
快速回复:[求助]一个诡异的问题:static和形参
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017114 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved