关于C语言的指针(3)数据交互过程

本文介绍了C语言中指针在函数数据交换过程中的作用,包括传统的值传递、全局变量共享和指针变量间接引用。讨论了指针与数组的关系,如如何通过指针访问数组元素,并解释了数组名作为函数参数的本质。内容涵盖了指针在传递大量数据和保持函数接口控制平衡中的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于C语言的指针(3):

指针与函数、数据的交换过程

函数调用者与函数之间交换数据的方式有三种:传统值传递,全局变量和指针变量间接引用,不同只要体现在函数的密封性和数据交换方便性的方面。

  1. 传统数值传递方式:
    函数调用者通过向函数参数赋值完成像函数输入数据的过程,函数通过返回值完成想函数调用这输出数据的过程,由于函数参数和函数内部变量与函数调用者内部变量与调用者的内部变量之间是相互独立的,因此,在执行过程中,对函数参数和函数中其他内部变量的引用和赋值操作对函数调用这是透明的。
    函数调用者通过向函数参数赋值完成像函数输入数据的过程,函数通过返回值完成想函数调用这输出数据的过程,由于函数参数和函数内部变量与函数调用者内部变量与调用者的内部变量之间是相互独立的,因此,在执行过程中,对函数参数和函数中其他内部变量的引用和赋值操作对函数调用这是透明的。
    这种数据交换的方式的好处是是想了函数的封闭性,函数的调用者只能通过像函数参数赋值实现函数调用这至函数的单向数据输入过程,函数只能通过调用函数返回数值实现函数到函数调用这的单向数据输出过程。

  2. 全局变量
    全局变量由于可以被函数调用这和函数共享,因此,函数调用者和函数之间可以通过该全局变量实现数据的交换过程,函数调用这对全局变量的操作结果直接影响函数引用的全局变量的数值,同样,函数对全局变量的操作结果直接影响函数调用者引用的全局变量的数值。
    由于C语言没有限定定义的全局变量的数量,函数调用者和函数之间可以通过全局变量完成交换过程,但交换过程的函数调用者和函数之间定义的接口无关,函数调用者和函数之间没有固定的输入输出接口。

  3. 指针变量间接引用方式
    虽然函数参数和函数内部变量与函数调用的内部变量之
    间是相互独立的,但是如果函数参数是指针变量,且函数调用这通过数值传递方式将函数调用内部变量的地址复制给函数参数,韩式可以通过间接访问过程改变作为函数参数的指针变量所指向的存储单元的内容,应因此改变函数次奥用着内部变量的数值,实现指针变量间接引用的过程:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值