Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 指针和双指针练习_C_Pointers_Double Pointer - Fatal编程技术网

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
    a
    (24)减去全局
    a
    (15),得到9
  • 因此,
    **y=x-a
    main
    a
    设置为9

调用
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
在此呼叫之前

`*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
相同。