11-指针

Wan Yutong Lv2

为了理解指针,我们可以通过10-Array数组的概念来理解,将计算机中的内存想象为一个非常大的数组

1
let mem = [int; 2147483647]

我们在编写程序A时,定义了变量i

1
let i: int = 65

那么在运行程序A时,i就被放在了mem里,我们不妨再假设imem的第N个元素,那么显然mem[N]就等于i,我们再定义一个符号&,他的用法是&V就等于N&V的类型为*T,设p等于N,写成代码就是:

1
let p: *int = &i

这时p就等于N了,再假设符号*P等于mem[N],就有了:

1
*p = 66

他就相当于

1
mem[N] = 66

如果你理解了这里,那么你就掌握了指针的概念,同时也了解了Alum中指针的用法,即:

  1. 定义指针:
1
let P: *T = &V
  1. 使用指针:
1
*P = C

对于熟悉C语言的读者很自然地会想到,数组在做算术运算是会退化为T *,可能会写出诸如*(A + N),但Alum作为一门强类型静态语言,并不支持这种写法,只能通过A[N]访问。

  • Title: 11-指针
  • Author: Wan Yutong
  • Created at : 2026-03-01 12:34:32
  • Updated at : 2026-03-03 11:38:47
  • Link: https://cr0.dpdns.org/2026/03/01/11-Pointer/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments
On this page
11-指针