C 指针和双指针练习
另外,C 指针和双指针练习,c,pointers,double-pointer,C,Pointers,Double Pointer,另外,p=&b表示指针指向b的地址,然后在a=32+8 p=&a和双指针*p=32-bso*p=24。24是指针p的存储地址吗?因为现在根据练习,a的值应该是24,我不明白为什么 有人能一步一步地告诉我如何处理这种练习吗?当调用func时,a=24,p是a的地址 但是,在函数中,a指的是全局a,而不是main中声明的func首先将a赋值为15。然后: **y是main中的a x-a是main的a(24)减去全局a(15),得到9 因此,**y=x-a将main的a设置为9 调用func时,a=
p=&b
表示指针指向b的地址,然后在a=32+8
p=&a
和双指针*p=32-b
so*p=24
。24
是指针p
的存储地址吗?因为现在根据练习,a
的值应该是24,我不明白为什么
有人能一步一步地告诉我如何处理这种练习吗?当调用
func
时,a
=24,p
是a
的地址
但是,在函数
中,a
指的是全局a
,而不是main
中声明的func
首先将a
赋值为15。然后:
是**y
main中的
a
是x-a
的main
(24)减去全局a
(15),得到9a
- 因此,
将**y=x-a
的main
设置为9a
func
时,a
=24,p
是a
的地址
但是,在函数
中,a
指的是全局a
,而不是main
中声明的func
首先将a
赋值为15。然后:
是**y
main中的
a
是x-a
的main
(24)减去全局a
(15),得到9a
- 因此,
将**y=x-a
的main
设置为9a
`*p=32-b`
由于此语句,变量a
等于24
funct (a, &p);
其中b
等于8
在该语句中的函数内部
*p = 32 - b;
a
设置为24-15
,等于8
,因为取消引用的指针*y
指向此调用之前的原始变量a
`*p=32-b`
由于此语句,变量a
等于24
funct (a, &p);
其中b
等于8
在该语句中的函数内部
*p = 32 - b;
a
设置为24-15
,这等于8
,因为取消引用的指针*y
指向原始变量a
,a
怎么可能同时是24和15?@ScottHunter对3/4开发人员说:)它不在同一时间。在函数调用之前,a等于24。由于语句**y=x-a,在函数内部;这相当于将24-15 a设置为9。在函数中,哪个a
设置为9?@ScottHunter。如何将a
同时设置为24和15?@ScottHunter对3/4开发人员说:)它不是在同一时间。在函数调用之前,a等于24。由于语句**y=x-a,在函数内部;这相当于24-15A被设置为9。函数中哪个a
被设置为9?@ScottHunter。感谢您的回答,但我不明白为什么*p=32-8意味着a=24。我是说*p=24意味着什么?24是地址吗?p
是指向main
(p=&a
)中a
的指针*p=24
意味着将24分配给p
@Giorgio所指向的变量:如果p==&a
,那么*p==a
,因此*p=24
与编写a=24
相同。谢谢您的回答,但我不明白为什么*p=32-8意味着a=24。我是说*p=24意味着什么?24是地址吗?p
是指向main
(p=&a
)中a
的指针*p=24
表示将24分配给p
@Giorgio所指向的变量:如果p==&a
,则*p==a
,因此*p=24
与写入a=24
相同。