Go语言之实现一个简单的单链表

2020-07-09 00:00:00 语言 节点 内存 指针 指向

1. 指针

我大学里门接触的编程课程是C语言,用了谭浩强的《C程序设计》第三版,其实用什么书都无所谓,反正我也没有学会C。

没有学会C,主要原因是C语言有一种叫做指针的东西,这种东西及其强大,可以直接操作内存。在学习Java之后,深入一点就需要了解到堆内存和栈内存的关系,其实也无非就是Java把指针帮我们实现了而已。

我记得C语言老师说过,指针很强大,也很难学,很多同学因为指针学不会也就再也学不会C语言了。很不幸,我就是那些学不会C语言的同学中的一员。

Go语言一样是可以使用指针的,那么下面看几个指针的例子:

package main

import (
    "fmt"
)

func main() {
    var p *int
    var i int = 1
    p = &i
    *p = 10
    //你猜这里输出的是什么?1还是10?
    fmt.Println(i)
}

相关文章