当前位置: 首页 > wzjs >正文

青岛网站优化联系方式迅雷bt磁力链 最好用的搜索引擎

青岛网站优化联系方式,迅雷bt磁力链 最好用的搜索引擎,网站建设教程app,沈阳seo关键词以链表的定义为例 type ListNode struct {Val intNext *ListNode }var pre *ListNode 和 pre : &ListNode{} 是两种不同的指针初始化方式,主要区别在于变量的声明方式、内存分配和初始值。 1. var pre *ListNode 行为特点 只声明指针变量,不分配…

以链表的定义为例

type ListNode struct {Val intNext  *ListNode
}

var pre *ListNode pre := &ListNode{} 是两种不同的指针初始化方式,主要区别在于变量的声明方式、内存分配和初始值。

1. var pre *ListNode

行为特点

  • 只声明指针变量,不分配内存
    pre 是一个 nil 指针,指向 ListNode 类型的零值(nil)
  • 未初始化结构体
    直接访问 pre.Valpre.Next 会导致 panic: nil pointer dereference

示例

var pre *ListNode         // pre == nil
fmt.Println(pre == nil)   // 输出: true// 以下代码会 panic!
// pre.Val = 1            // 报错:解引用 nil 指针

适用场景

  • 需要先声明指针,稍后通过 new 或取地址初始化时
  • 作为函数参数,允许接收 nil 指针时

2. pre := &ListNode{}

行为特点

  • 声明并初始化指针
    使用 &ListNode{} 创建结构体实例,并返回其指针
  • 分配内存,字段赋零值
    结构体所有字段初始化为零值(Val: 0, Next: nil)

示例

pre := &ListNode{}        // pre != nil
fmt.Println(pre == nil)   // 输出: false
fmt.Println(pre.Val)      // 输出: 0(int 零值)
fmt.Println(pre.Next)     // 输出: nil(指针零值)// 安全赋值
pre.Val = 1               // 正常执行

适用场景

  • 需要立即使用结构体指针,且避免 nil 解引用时
  • 快速初始化一个空结构体

3. 关键区别总结

特性var pre *ListNodepre := &ListNode{}
指针值nil指向新分配的结构体实例
内存分配不分配内存在堆上分配ListNode内存
字段默认值不可访问(nil指针解引用会panic)零值(Val: 0, Next: nil
安全性❌ 直接访问字段会panic✅ 可安全访问字段
典型使用场景- 延迟初始化
- 接收nil参数
- 立即使用的非空指针
- 哨兵节点

4. 进一步对比

内存分配示意图

var pre *ListNode

pre → nil

pre := &ListNode{}

pre → [Val:0, Next:nil]

常见用法示例

// 场景1:延迟初始化
var head *ListNode
if condition {head = &ListNode{Val: 1}  // 按需分配
}// 场景2:直接使用
dummy := &ListNode{}  // 哨兵节点
dummy.Next = head

其他初始化方式

使用 new 函数
pre := new(ListNode)  // 等价于 &ListNode{}

&ListNode{}效果相同,但更显式地表明分配内存。

带字段初始化
pre := &ListNode{Val:  1,Next: &ListNode{Val: 2},  // 嵌套初始化
}

如何选择?

  1. 需要 nil 指针 → var pre *ListNode
    (如链表遍历时判断 if pre != nil)

  2. 需要非空指针 → pre := &ListNode{}
    (如创建哨兵节点或临时结构体)

  3. 需要自定义初始值 → &ListNode{Val: 1}

http://www.dtcms.com/wzjs/490442.html

相关文章:

  • 网站开发武汉公司免费网站模板
  • 网站都需要什么类别百度搜索关键词热度
  • 网站监控 重启电脑速成班短期电脑培训班
  • 计算机毕业论文代做网站网站之家查询
  • 制作一个静态网站源码软文网站发布平台
  • 免费申请注册网站广州线下教学
  • 购物网站商城策划成都建设网官网
  • 网站建设公司对父亲节宣传口号天津企业seo
  • 代做论文的网站有哪些好的网络销售靠谱吗
  • 做关于什么的网站深圳网站优化平台
  • 网站怎么做图片放映效果如何推广网店
  • 做网站开发要学什么软件专业seo外包
  • 济南市商务局官方网站nba最新新闻消息
  • 阿里云怎么做网站seo软件优化
  • 网站的后续优化方案黑龙江头条今日新闻
  • AWS免费套餐做网站可以吗热门搜索排行榜
  • 深圳股票配资网站开发线下推广方法有哪些
  • 永久免费做网站app软文通
  • 阿里云如何查看已建设好的网站谷歌seo和百度区别
  • 邢台做移动网站找谁百度指数app
  • 平台设计图片西青seo
  • 盐城哪里做网站怎么做网站免费的
  • 中智软件开发有限公司seo排名优化推广教程
  • 淮北网站网站建设seo含义
  • 外国服务器的网站外贸推广平台哪家好
  • 农行网站不出动画怎么做公众号软文推广
  • 购物网站源码下载湖北网络推广
  • 为何网站需改版北京网站优化策略
  • 成都网站建设哪家专业故事型软文广告
  • 做地方门户网站如何做优化法治化营商环境