第<1>章 数据引用与匿名存储

35 篇文章 30 订阅 ¥39.90 ¥99.00
主要有两方面的不同将用语创建真正复杂系统的编程语言,与普通的教学语言区分开来。

那些更加健壮的编程语言具有以下特点:

1. 不必使用变量名就能动态地位数据分配存储空间,我们称之为匿名数据结构

2.可以指向任何数据结构,无论它是静态分配还是动态分配的

指针,简言之,就是保存其他数据地址的变量。这个地址可以是机器地址,在C语言中就是这样,

也可以是一种更高抽象层次的实体,比如名字或数组偏移量。

Perl 对这两种概念都支持的相当好,它允许你创建匿名数据结构,而且还提供了一种称做"引用(reference)"的类似

于C语言指针的基本数据类型。


正像C语言指针可以指向数据甚至函数地址一样,Perl的引用同样可以指向常规数据类型

(如标量变量,数组和散列表)和其他类型的实体



因为和C语言不同,Perl 为你省去了许多不必要的工作。比如下面这行代码:

$line[19] = "hello";


它创建了一个20个元素的数组,然后将最后一个元素赋值为一个字符串。


对已有变量的引用:

如果你有C语言编程背景的话,就会知道有两种方法可以用来初始化C语言中的指针。

int a,*p

p = &a;  /* p 中现在包含a的地址*/

你可以通过在已有变量名前添加"\" 来创建对它的引用,例如:


引用本身就是一种标量变量:


在我们讨论这个专题中,有一点很重要,那就是使用引用作为散列表的键值

间接访问:

间接访问(dereference) 的意思就是取得引用所指的变量的值


在C语言中,如果p是一个指针,那么*p 就表示p所指向的值。


对数组的引用:

你可以用三种方式使用普通数组:

1.将数组作为一个整体进行存取,使用记号@array.例如,你可以打印整个数组或向其中添加元素

2.使用记号$array[$i] 来存取数组中的单个元素

3.使用记号@array[index,index2,...] 来分段(slice)存取数组中的元素。



对散列表的引用:

对散列表的引用同样直接了当:

zjzc01:/root/hei# ca
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值