Table of Contents
Table of Contents
指针,相信大家对这个名词一定不陌生,但真正把指针用好的并不多。
记得在大学时代学习C语言,里面用很大篇幅讲述了指针的用法,当时是懂非懂,真是愧对作者谭浩强老师。工作后看到老先生的COBOL语言教材也是绝对堪称经典,真是有才,佩服佩服。但是在这本教材里,通篇没有提到指针的用法,以至于很多学过、用过的COBOL的人认为COBOL不支持指针,其实只是在COBOL里,指针不常用而已。
在主机的传统开发语言中,无论是Assembler,PL/I,或者COBOL都提供对指针的支持。Assembler自不必说,COBOL里,指针用的不多,PL/I编程,指针的使用则比较常见。对于开发人员来说,熟练地掌握指针,或者说理解内存分配方式,大多比较头疼。
利用周末时间和大家聊一聊PL/I中指针常见BASED和ADDR的用法。 (以上废话,可以跳过)
DCL EXAMPLE_P POINTR;
EXAMPLE_P在内存中占四个字节,它可以存储数据的地址。它就是指针。 地址大家一定不陌生吧?前几天我在三菱東京UFJ銀行申请了一个账户,说过两周后把卡做好了给我邮送过来,地址如下: 邮编:273-0025 地址:千葉県 船橋市 印内町 643 エクセレント 西船 101
两个小时前邮递员按地址把信给我送了过来,签收之后,OK。
主机中地址是用四个字节的二进制数来表示的。
数据就是通过地址来引用的。我们在程序中定义的变量其实就是地址。
只不过因为我们不是骇客帝国中的厉害角色,看满屏幕的1和0就能看出五彩缤纷的世界。所以给地址起了个友好的名字,这样我们才能更明白。