设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
Linux 程序设计专题讨论
›
c也有引用?
1
2
/ 2 页
下一页
返回列表
查看:
959
|
回复:
11
c也有引用?
[复制链接]
jetking
jetking
当前离线
积分
561
IP卡
狗仔卡
发表于 2005-7-22 22:48:13
|
显示全部楼层
|
阅读模式
有以下代码:
int i=3
int &ref_i=i;
ref_i=6;
复制代码
在lcc下编译通过
用gcc编译就报错。
看来lcc很强么,可它是一个纯c的编译器,不支持c++呀
有这个实验想法是因为在看某数据结构c语言版教材,其中的例子代码就有引用,当然,它是出现在函数参数中
例如:pop_stack(STACK &ref_stka)
这明显不能编译通过阿
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
dancingpig
dancingpig
当前离线
积分
1525
IP卡
狗仔卡
发表于 2005-7-23 00:03:46
|
显示全部楼层
这个在数据结构书里见过,但是说实话我c书上从来没注意过
看了大半本unp,也没见过。。。。。。。。。。。。。。难道我疏忽了?
回复
支持
反对
使用道具
举报
显身卡
x11
x11
当前离线
积分
2823
IP卡
狗仔卡
发表于 2005-7-23 01:06:59
|
显示全部楼层
pop_stack(STACK &ref_stka)
传的是指针
晕死。。。
回复
支持
反对
使用道具
举报
显身卡
masterdemon
masterdemon
当前离线
积分
414
IP卡
狗仔卡
发表于 2005-7-23 08:58:45
|
显示全部楼层
这只能说是某种编译器对一些语法的扩展。不能说是C的语法。
gcc也有一大堆的C语法不承认且其他编译器编译不通过的扩展。
回复
支持
反对
使用道具
举报
显身卡
弥敦路九号
弥敦路九号
当前离线
积分
1139
IP卡
狗仔卡
发表于 2005-7-23 10:02:37
|
显示全部楼层
pop_stack(STACK &ref_stka) 这个是函数声明吧. 应表示引用. 如果是函数调用才是指针.
这段代码GCC 确是编译过不了. 换成G++就OK了. lcc 机器上没有.
估计是对语法进行了扩展吧. 不过这种代码最好还是少写了.
回复
支持
反对
使用道具
举报
显身卡
弥敦路九号
弥敦路九号
当前离线
积分
1139
IP卡
狗仔卡
发表于 2005-7-23 10:03:58
|
显示全部楼层
int a = 3;
char b[a];
这样的代码在GCC中OK,在其它编译器中就不行.
回复
支持
反对
使用道具
举报
显身卡
sunmoon1997
sunmoon1997
当前离线
积分
1744
IP卡
狗仔卡
发表于 2005-7-23 10:11:40
|
显示全部楼层
c99 动态数组:)
回复
支持
反对
使用道具
举报
显身卡
jetking
jetking
当前离线
积分
561
IP卡
狗仔卡
楼主
|
发表于 2005-7-23 10:15:38
|
显示全部楼层
Post by
x11
pop_stack(STACK &ref_stka)
传的是指针
晕死。。。
指针的话,应该是pop_stack(STACK * ref_stka)
而内部实现应该为ref_stka->xxx
而书上用了引用之后,内部实现为ref_stka.xxx
回复
支持
反对
使用道具
举报
显身卡
gvim
gvim
当前离线
积分
89
IP卡
狗仔卡
发表于 2005-7-23 12:14:19
|
显示全部楼层
你在gcc命令行上加上 -ansi=c99 如果还不能通过,那基本上可以说明这个不是标准里面的东西(这样做不是绝对的可以验证语法是否符合c99标准)
回复
支持
反对
使用道具
举报
显身卡
x11
x11
当前离线
积分
2823
IP卡
狗仔卡
发表于 2005-7-23 14:39:30
|
显示全部楼层
真晕了,没看出来是函数原型,嘿嘿,功夫还不到家,继续修炼
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
/ 2 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表