指针高级6-数组指针

(1)数组指针

①、概念:指向数组的指针

②、作用:方便的操作数组中的各种数据

int* p1 =arr;,这里指针p1实际上是获取的arr的首地址。

int* p2 =&arr[0],这里行代码是验证上面的结果的。

③、指针循环遍历数组的每一个元素

*p1++,这里的*是解引用运算符,用来获取数组里面的数据。

++,表示每解引用一次之后,指针就向右移动4个字节(因为是int类型,所以移动4字节)

(2)数组指针的细节

①、arr参与计算的时候,会退化为第一个元素的指针

退化的原因就是指针记录的是数组的首地址(arr一般代表数组的首地址)。

int arr[] = {1,2,3};

int* p =arr;

int* pp = arr + 1;

此时指针pp记录的就是&arr[1]的地址值。

②、有两种情况不会退化

sizeof运算的时候,不会退化,arr还是整体;

&arr获取地址的时候,不会退化,此时&arr代表的是整个数组的地址值。

如果指针p1 + 1,就是向右移动4个字节,记录的是&arr[1]的地址值

指针p2 + 1,就是向右移动一个数组的字节大小,记录的就是下一个数组的整体地址值。

(3)数组指针细节的联系

(4)总结

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇