指针的初始化
int ducks = 12;//创建ducks变量,并将值12存储在该变量中
int *birddog = &ducks;//创建birddog变量,并将ducks的地址存储在该变量中
被初始化的是指针,而不是它指向的值
(即将birddog(而不是*birddog)的值初始化为&ducks(ducks的地址))
另 : 一 个 危 险 的 错 误 : \color{red}{另:一个危险的错误:} 另:一个危险的错误:
int *fellow;
*fellow = 2333333;
在
对
指
针
应
用
解
除
引
用
运
算
符
(
∗
)
之
前
,
一
定
要
将
指
针
初
始
化
为
一
个
确
定
\color{red}{在对指针应用解除引用运算符(*)之前,一定要将指针初始化为一个确定}
在对指针应用解除引用运算符(∗)之前,一定要将指针初始化为一个确定
且
适
当
的
地
址
。
\color{red}{且适当的地址。}
且适当的地址。
错 因 : 由 于 f e l l o w 没 有 被 初 始 化 , 它 可 能 有 任 何 值 , 第 二 条 语 句 将 其 解 释 为 \color{red}{错因:由于fellow没有被初始化,它可能有任何值,第二条语句将其解释为 } 错因:由于fellow没有被初始化,它可能有任何值,第二条语句将其解释为
存 储 233333 的 地 址 , 但 事 实 上 f e l l o w 指 向 的 地 方 很 可 能 并 不 是 要 存 储 233333 的 地 方 。 \color{red}{存储233333的地址,但事实上fellow指向的地方很可能并不是要存储233333的地方。} 存储233333的地址,但事实上fellow指向的地方很可能并不是要存储233333的地方。