perl中 *a=\"sb"; $a="sb"; 有何区别?

perl中*a=\"sb";$a="sb";有何区别?... perl中
*a=\"sb";
$a="sb";
有何区别?
展开
 我来答
DIYBYTHING
2010-12-07
知道答主
回答量:4
采纳率:0%
帮助的人:0
展开全部
前者是把对字串的引用给了类型团*a;后者是普通的标量。
不过在访问的时候,都是按$a这种形式访问的。

#!perl
use 5.10.0;

*a=\"ab";
say $a;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ba_du_co
2010-12-07 · TA获得超过937个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:276万
展开全部
Perl 里面有种特殊的类型叫类型团(typeglob)用以保留整个符号表记录。
符号表记录 *foo 包括 $foo, @foo, %foo,&foo 和其他几个 foo 的简单解释值。
类型团(typeglob)的类型前缀上一个 *,因为它代表所有类型。

如果你说:

*foo = *bar;
那所有叫“foo”的东西都是每个对应的叫“bar”的同意词。
$foo=$bar,@foo=@bar....

只给某一个变量取别名:

*foo = \$bar;
这样 $foo 就是 $bar 的一个别名,而没有把 @foo 做成 @bar 的别名

象这样:

*a=\"sb" ---> $a="sb" 就是同意词。

参考资料: Perl语言编程(第三版)

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
连续用6a43aa2
2010-12-07 · TA获得超过3748个赞
知道大有可为答主
回答量:7283
采纳率:72%
帮助的人:627万
展开全部
看都没看过,perl有这样的吗,这样不就是c语言了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友288ba2d
2010-12-07 · TA获得超过364个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:271万
展开全部
指向不同和内存计数不同。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式