- 注册时间
- 2004-11-26
- 最后登录
- 1970-1-1
|
Lavo没有专门的指针类型,但是Lavo有指针。
Lavo的long类型可以容纳下一个内存地址,所以当一个long变量的内容是一个内存地址时,这个变量就是事实上的指针。
例如:
int a;
long b;
b=&a;
这时b就是一个指向变量a的指针。
为了使指针更容易一目了然,增加了一个新数据类型:addr。实际上addr是long的别名,二者的性质是完全相同的。只是,我们用addr的好处是,可以一眼看出某个变量是指针。
上例写成这样看起来就清晰多了:
int a;
addr b;
b=&a;
如何取指针指向的内容呢?具体到上例:
(int *)b就是b指向的int型变量的值。
注意这里和C语言的区别:
在C语言里(int *)是把后面的指针强制转换为int指针。
在Lavo语言里(int *)是从后面的地址里取一个int类型的数据。
此外,(char *)可以简写为*,这点也是与C语言不同的。
Lavo有(char *),(int *),(long *),(float *)四种指针,都是指向简单变量的指针,如果需要对数组或结构进行操作,可以使用Lavo的“引用”。 |
|