C语言指针的作用1~3

(1)作用1:操作其他函数中的变量

&a、&b传递的是变量在内存中的地址值

swap()函数里的int* p1就是指针p1、int* p2就是指针p2

在函数swap()中

int temp = *p1,*p1中的*是解引用运算符

①、什么是解引用运算符:

通过指针访问它所指向的内存地址中存储的实际数据。

指针变量本身存储的是一个内存地址,而 * 运算符可以“顺着”这个地址,找到该地址上存放的值。这个过程称为解引用(dereferencing)。

(2)作用2:函数返回多个值

完整代码

指针直接通过内存地址对变量的值进行修改,这个修改不会随着函数的调用结束而失效。

这里其实感觉不出指针的作用有多大,待我思考思考。

(3)作用3:函数的结果和计算状态分开

在C语言中,两数相除,除数不能为0,对此我们可以使用指针变量,来对这一过程进行结果和状态的分开,什么意思?

即,定义一个函数getReaminder,形参写除数(number1)和被除数(number2),以及指针变量(int* res),该指针变量的作用是传递余数。

在函数中,可以对除数进行一个判断,如果除数为0,就返回1(表示程序出现异常或不满足条件);如果不为0,就正常进行运算,运算的值通过*res,解引用修改result的值。

想起来个补充点,由于我们使用的是x64windows,所以一个指针变量的大小为8字节,即64个bit。

文末附加内容
暂无评论

发送评论 编辑评论


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