首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

static关键字的特殊用法,可以放在函数的参数列表里面!解决办法

2012-03-30 
static关键字的特殊用法,可以放在函数的参数列表里面!编辑一个.c文件:int g(int buf[static 6]){return 0

static关键字的特殊用法,可以放在函数的参数列表里面!
编辑一个.c文件:
int g(int buf[static 6]){
  return 0;
}
int main(void){
  int sam[]={1,2,3};
  int jim[]={1,2,3,4,5,6,7,8};
  g(sam);
  g(jim);
  return 0;
}
可以编译通过,但是:
(1)这种用法是标准c才有的吧,c++不支持。我尝试了g++不行,gcc可以。
(2)好像只有gcc才支持,vc编译.c文件也不支持这样的语法。

这个在参数列表里面的static的作用究竟是什么?

[解决办法]
这是C99引入的特性。
GCC支持。
VC还不支持

其实是一个语法糖,相当于告诉函数的使用者,我这里传入的数组个数要多于N个。

热点排行