读书人

static关键字的特殊用法,可以放在函数

发布时间: 2012-03-30 17:32:09 作者: rapoo

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个。

读书人网 >C语言

热点推荐