免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4973 | 回复: 10
打印 上一主题 下一主题

[C] 两个c语言的问题:变量的定义和函数声明前的static关键字 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-04-30 19:45 |只看该作者 |倒序浏览
1、变量定义必须放在函数体的最开头,即变量的具体操作之前。
下面的代码是在我的机器上不能通过gcc编译

#include <stdio.h>;

int
main(int argc, char* argv[])
{
       int a=1;
       a ++;
       int b;
       printf("hello,world\n";
       return 0;
}

错误提示:

$>;gcc test.c -o test
test.c: In function `main':
test.c:8: syntax error before `int'

有没有办法能够令编译通过,并且运行正常?要加上什么编译选项么?我之所以这样问,是因为我在wget见到类似的用法,我把那段代码拷出来我却不能用,并且提示类似的错误。但是我make wget确正常通过,而我单独编译那段代码的时候用他的编译选项也不行。

问题二,static放在函数声明有什么作用?
例如:

static void foo(void);

论坛徽章:
0
2 [报告]
发表于 2003-04-30 20:26 |只看该作者

两个c语言的问题:变量的定义和函数声明前的static关键字

int 类型的main(),没有意义呀。谁能调用main呢

论坛徽章:
0
3 [报告]
发表于 2003-04-30 23:18 |只看该作者

两个c语言的问题:变量的定义和函数声明前的static关键字

第一个问题其实很简单呀,c语言中要求变量定义要全部放在程序开头,而c++就不用这样,所用你上面的程序用gcc编译肯定不行,但用g++就没问题了!

论坛徽章:
0
4 [报告]
发表于 2003-05-01 12:21 |只看该作者

两个c语言的问题:变量的定义和函数声明前的static关键字

int main??????
还有main函数中的return 0??
我认为程序本身就有诸多毛病。

论坛徽章:
0
5 [报告]
发表于 2003-05-01 12:46 |只看该作者

两个c语言的问题:变量的定义和函数声明前的static关键字

C中定义所有变量后才能使用

就是变量定义必须都在函数前面

把int b移动到前面就好了

论坛徽章:
0
6 [报告]
发表于 2003-05-01 12:48 |只看该作者

两个c语言的问题:变量的定义和函数声明前的static关键字

int main是正常的
如果fork后子进程一般要return一个返回值给父进程

static表示这个函数只能使用于当前文件中
其它c文件的函数调用不了这个函数

论坛徽章:
0
7 [报告]
发表于 2003-05-01 22:47 |只看该作者

两个c语言的问题:变量的定义和函数声明前的static关键字

int main
return 0都很正常
n多人这么写
郑学习ing

论坛徽章:
0
8 [报告]
发表于 2003-05-02 00:47 |只看该作者

两个c语言的问题:变量的定义和函数声明前的static关键字

抱歉,在这里大放厥词了。自己也想过,确实,道理上可以想通int main。看来学生看的程序还是太少。从资料上只看过 void main
多谢指教。

论坛徽章:
0
9 [报告]
发表于 2003-05-02 11:47 |只看该作者

两个c语言的问题:变量的定义和函数声明前的static关键字

int main是符合标准的
void main是错误写法

论坛徽章:
0
10 [报告]
发表于 2003-05-02 15:34 |只看该作者

两个c语言的问题:变量的定义和函数声明前的static关键字

越来越离奇了。
现在开始根本否定自己了……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP