传值和传指针的区别,c语言中传值与传指针的区别是什么

科技资讯 投稿 9100 0 评论

传值和传指针的区别,c语言中传值与传指针的区别是什么

本章内容给大家谈谈关于遇上c语言中传值与传指针的区别是什么等问题,我们该怎么处理呢。下面这篇文章将为你提供一个解决思路,希望能帮你解决到相关问题。

一、C语言中的传值与传指针

C语言中的传值与传指针是指函数调用时,将参数传递给函数的方式,传值是指将实参的值复制一份传递给函数的形参,而传指针是指将实参的地址复制一份传递给函数的形参。

二、传值的特点

(1)传值是指在函数调用时,将实参的值复制一份传递给函数的形参,传值的特点是:实参与形参完全独立,形参仅仅是实参的一个拷贝,当函数内部对形参的值进行修改时,不会影响实参的值。

三、传指针的特点

(1)传指针是指在函数调用时,将实参的地址复制一份传递给函数的形参,传指针的特点是:形参与实参共享同一个内存空间,当函数内部对形参的值进行修改时,也会影响实参的值。

int a = 10;
int b = 20;

void swap(int *p1, int *p2)
{
    int temp = *p1;
    *p1 = *p2;
    *p2 = temp;
}

int main()
{
    int *p1 = &a;
    int *p2 = &b;
    swap(p1, p2);
    printf("a=%d, b=%d\n", a, b);
    return 0;
}
上面的代码中,在函数swap中,传入的参数是指针,在函数中,指针指向的内存空间中的值被交换,因此在函数调用完毕后,变量a和b的值也会发生变化,输出结果为a=20, b=10。

总结

以上就是为你整理的c语言中传值与传指针的区别是什么全部内容,希望文章能够帮你解决相关问题,更多请关注本站相关栏目的其它相关文章!

编程笔记 » 传值和传指针的区别,c语言中传值与传指针的区别是什么

赞同 (41) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽