指针的初始化

本文深入讲解了C/C++中指针的初始化过程,包括如何正确地初始化指针以避免潜在的错误,以及不当初始化可能导致的问题。特别强调了在对指针进行解除引用前确保其已初始化至有效地址的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

指针的初始化

int ducks = 12//创建ducks变量,并将值12存储在该变量中
int *birddog = &ducks;//创建birddog变量,并将ducks的地址存储在该变量中

被初始化的是指针,而不是它指向的值
(即将birddog(而不是*birddog)的值初始化为&ducks(ducks的地址))
指针初始化的图解

另:一个危险的错误:\color{red}{另:一个危险的错误:}

int *fellow;
*fellow = 2333333;

在对指针应用解除引用运算符(∗)之前,一定要将指针初始化为一个确定\color{red}{在对指针应用解除引用运算符(*)之前,一定要将指针初始化为一个确定}
且适当的地址。\color{red}{且适当的地址。}

错因:由于fellow没有被初始化,它可能有任何值,第二条语句将其解释为\color{red}{错因:由于fellow没有被初始化,它可能有任何值,第二条语句将其解释为 }fellow

存储233333的地址,但事实上fellow指向的地方很可能并不是要存储233333的地方。\color{red}{存储233333的地址,但事实上fellow指向的地方很可能并不是要存储233333的地方。}233333fellow233333

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值