gpt4 book ai didi

c - C中函数内部的指针

转载 作者:太空宇宙 更新时间:2023-11-04 05:09:34 25 4
gpt4 key购买 nike

#include<stdio.h>

int q = 10;

void fun(int *p){
*p = 15;
p = &q;
printf("%d ",*p);
}

int main(){
int r = 20;
int *p = &r;
fun(p);
printf("%d", *p);
return 0;
}

我在玩指针。无法理解此输出。输出为 10 15。一旦 p 指向 q 的地址,为什么在返回 main 函数时它的值会改变?还有为什么它更改为在“10”之前的函数中分配给它的值“15”。

最佳答案

因为 pfun()main() 中的 p 不一样。 p 在每个函数中都是局部的。所以改变一个不会影响另一个。

关于c - C中函数内部的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26970819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com