首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
C/C++
C语言
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
疑惑:C语言不允许函数嵌套定义,main函数里面可以么?
[已结贴,结贴人:mifeixq]
加为好友
发送私信
在线聊天
mifeixq
小米
等级:
可用分等级:
贫农
总技术专家分:
60
总技术专家分排名:
115013
揭帖率:
-33.33%
发表于:
2008-08-19 10:55:49
楼主
个人理解main也是函数,所以里面也不允许嵌套定义,但是测试确可以
#include <stdio.h>
int main(void)
{
int i;
void f(int i){printf("%d\n",i);}
f(3);
printf("%p\n", &i); //测试SS位置
return 0;
}
这个应该怎么理解呢
~
问题点数:
20
回复次数:
19
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
coverallwangp
coverall
等级:
可用分等级:
中农
总技术专家分:
2067
总技术专家分排名:
10194
发表于:
2008-08-19 10:59:26
1
楼 得分:
0
vc6里面编译不过,lz用的什么编译器?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
mifeixq
小米
等级:
可用分等级:
贫农
总技术专家分:
60
总技术专家分排名:
115013
发表于:
2008-08-19 11:09:28
2
楼 得分:
0
ubuntu cc/gcc
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
iamliadai
等级:
可用分等级:
中农
总技术专家分:
207
总技术专家分排名:
58301
发表于:
2008-08-19 12:53:33
3
楼 得分:
0
gcc扩展语法
加上 -std=c99 -Wall -pedantic 参数,你就可以编出最标准的程序了
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
mhyx_2008
爱看动画片
等级:
可用分等级:
中农
总技术专家分:
116
总技术专家分排名:
81755
发表于:
2008-08-19 19:21:46
4
楼 得分:
0
main()函数是个特殊的函数,它里边可以定义函数。
你不是也没有看见它被调用吗?但它却被执行了,我们只能看到它的定义,它本身是程序的入口。
在main()函数里定义的函数只能在本文件里调用。
在main()函数外定义的函数如果没有加static限定,就可以被外部文件调用。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lovexieli
生活中
等级:
可用分等级:
长工
总技术专家分:
37
总技术专家分排名:
142782
发表于:
2008-08-19 19:37:36
5
楼 得分:
0
在vc6出错!
继续关注中!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
iamliadai
等级:
可用分等级:
中农
总技术专家分:
207
总技术专家分排名:
58301
发表于:
2008-08-19 21:40:01
6
楼 得分:
0
扯鸡巴蛋吧,误导大众[Quote=引用 4 楼 mhyx_2008 的回复:]
main()函数是个特殊的函数,它里边可以定义函数。
你不是也没有看见它被调用吗?但它却被执行了,我们只能看到它的定义,它本身是程序的入口。
在main()函数里定义的函数只能在本文件里调用。
在main()函数外定义的函数如果没有加static限定,就可以被外部文件调用。
[/Quote]
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lunarfan
简洁就是美
等级:
可用分等级:
长工
总技术专家分:
663
总技术专家分排名:
26393
发表于:
2008-08-20 09:19:35
7
楼 得分:
0
标准里是不允许的。
dev c++里的编译不通过a function-definition is not allowed here before '{' token
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
mifeixq
小米
等级:
可用分等级:
贫农
总技术专家分:
60
总技术专家分排名:
115013
发表于:
2008-08-20 09:20:31
8
楼 得分:
0
本来以前一直认为不应该可以的,不过有人问我,我用linux尝试一下,结果竟然可以……
学C我记得最清楚的一句就是函数不能嵌套定义……
main()不也是函数嘛而且5楼说的也有点问题 main()内定义的函数只能在main()内调用,并不具有文件
作用域
测试代码:
#include <stdio.h>
void outofmain()
{
printf("out of main\n");
}
void test();
int main(void)
{
void inmain()
{
outofmain();
printf("in main\n");
}
inmain();
test();
return 0;
}
void test()
{
inmain();
}
ERROR: in function test ---undefined reference to inmain
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
lsd1025
等级:
可用分等级:
中农
总技术专家分:
334
总技术专家分排名:
42917
发表于:
2008-08-20 10:45:10
9
楼 得分:
0
VC6.0通不过!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
hqin6
!独行
等级:
可用分等级:
中农
总技术专家分:
4631
总技术专家分排名:
4477
发表于:
2008-08-20 10:54:05
10
楼 得分:
0
没意义的问题嘛!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
guzhilei1986
o(∩_∩)o...哈哈
等级:
可用分等级:
中农
总技术专家分:
619
总技术专家分排名:
27750
发表于:
2008-08-20 11:19:45
11
楼 得分:
0
引用 10 楼 hqin6 的回复:
没意义的问题嘛!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
iamliadai
等级:
可用分等级:
中农
总技术专家分:
207
总技术专家分排名:
58301
发表于:
2008-08-20 12:17:17
12
楼 得分:
0
再说一遍 这是gcc世界的扩展语法采用的。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
jinjin666
等级:
可用分等级:
长工
总技术专家分:
145
总技术专家分排名:
72129
发表于:
2008-08-20 15:24:18
13
楼 得分:
0
引用 10 楼 hqin6 的回复:
没意义的问题嘛!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
thaij
thaij
等级:
可用分等级:
长工
总技术专家分:
0
总技术专家分排名:
312798
发表于:
2008-08-21 01:21:34
14
楼 得分:
10
main函数是个特殊的函数,它是程序的入口,当然以嵌套别的function.
在别的函数里是不行的。。。。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yeliguo12345
忍者神龟
等级:
可用分等级:
中农
总技术专家分:
378
总技术专家分排名:
39413
发表于:
2008-08-21 11:22:04
15
楼 得分:
5
支持14楼
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
mhyx_2008
爱看动画片
等级:
可用分等级:
中农
总技术专家分:
116
总技术专家分排名:
81755
发表于:
2008-08-21 13:20:47
16
楼 得分:
0
抱歉,我确实没有说清楚。不好意思了...
8楼和14楼说的对。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
seufl
不再犹豫
等级:
可用分等级:
贫农
总技术专家分:
141
总技术专家分排名:
73291
发表于:
2008-08-21 19:32:58
17
楼 得分:
0
不是标准,是编译器特性
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zhongjx
青苹果
等级:
可用分等级:
长工
总技术专家分:
327
总技术专家分排名:
43529
发表于:
2008-08-21 21:58:15
18
楼 得分:
0
估计你用的DEV C++吧?这个和编译器也有关系。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
synix521
不懂C++
等级:
可用分等级:
短工
总技术专家分:
15
总技术专家分排名:
194921
发表于:
2008-08-21 22:13:39
19
楼 得分:
5
引用 15 楼 yeliguo12345 的回复:
支持14楼
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友