指针 调用指针函数 萌🌟求教
请问: 3个指针变量的值改变了嘛?是不是没改变 ,只是改变了所指变量的值。
另外请问 指针变量的值和 指针变量所指的变量的值 有什么具体解释吗 感觉很绕{:5_104:}
输入三个数 要求从大到小输出,函数实现;
#include <stdio.h>
void pointer(int*,int*,int*);
void pointer(int*p1,int*p2,int*p3)//
{ extern void swap(int*x,int*y);//
if(*p1<*p2) swap(p1,p2);
if(*p2<*p3) swap(p2,p3);
if(*p1<*p2) swap(p1,p2);
}
void swap(int*x,int*y)//
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
int main()
{
int*z1,*z2,*z3;
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
z1=&a; z2=&b; z3=&c;
pointer(z1,z2,z3);
printf("从大到小依次为:%d %d %d\n",a,b,c);
printf("指针从大到小依次为:%d %d %d\n",*z1,*z2,*z3);
return 0;
}
啊啊啊 いますか
誰僕に助けてください
アィがと{:5_102:} 万千只cnm 发表于 2020-12-11 21:36
啊啊啊 いますか
誰僕に助けてください
アィがと
アィがと重学日语输入法 这个函数是传入指针对地址进行操作,指针指向没有改变 ,只是改变了所指变量的值。
指针指向的是地址例如
int a = 10;
int *p = &a;
p指针所指的是a的地址 指针存放的是地址。
指针变量的值就是a的地址,用上面例子来说,指针变量指向的是a a变量的值是10,所以指针变量所指的变量的值是10,而指针变量的值 存放的是a的内存地址。
可以形象的把变量名当成柜子名,柜子里存放的东西就是10,这个柜子有具体的地址,比如a柜子在2排第四个,里面存放的是10,那么指针p存放的就是“二排第四个”这个地址,a就是柜子名,10就是指针变量(二排第四个)所指变量(a)的值(10). 永恒的蓝色梦想 发表于 2020-12-11 21:53
重学日语输入法
ありがとう{:5_91:} Ryan_Li 发表于 2020-12-11 22:11
这个函数是传入指针对地址进行操作,指针指向没有改变 ,只是改变了所指变量的值。
指针指向的是地址例 ...
どうもありがとう 詳しいね{:5_108:}
页:
[1]