C语言为什么指针变量交换可以改变变量值,因为指针变量存储的是变量的内存地址,交换指针变量实际上是交换了变量的内存地址,从而改变了变量的值。
时间: 2023-05-31 18:04:32 浏览: 133
c语言指针,指针与变量,指针与指针
5星 · 资源好评率100%
在C语言中,指针变量是一种特殊的变量类型,它存储的是一个内存地址,可以通过指针变量来访问该内存地址中存储的数据。当我们对指针变量进行交换时,实际上是交换了指针变量所指向的内存地址,从而改变了变量的值。
例如,假设有两个整型变量a和b,它们的初始值分别为3和5,我们定义两个指针变量p和q,分别指向a和b的内存地址,然后将它们进行交换:
int a = 3, b = 5;
int *p = &a, *q = &b;
int *temp;
temp = p;
p = q;
q = temp;
经过交换后,p指向b的内存地址,q指向a的内存地址,此时再通过*p和*q来访问它们所指向的内存地址中存储的数据,即可得到交换后的结果,即a的值为5,b的值为3。
因此,通过指针变量交换可以改变变量的值,这也是指针变量在C语言中的重要应用之一。
阅读全文