万千只cnm 发表于 2020-12-11 20:02:03

指针 调用指针函数 萌🌟求教

请问: 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;
   
   
   
}

万千只cnm 发表于 2020-12-11 21:36:00

啊啊啊 いますか
誰僕に助けてください
アィがと{:5_102:}

永恒的蓝色梦想 发表于 2020-12-11 21:53:26

万千只cnm 发表于 2020-12-11 21:36
啊啊啊 いますか
誰僕に助けてください
アィがと

アィがと重学日语输入法

Ryan_Li 发表于 2020-12-11 22:11:57

这个函数是传入指针对地址进行操作,指针指向没有改变 ,只是改变了所指变量的值。
指针指向的是地址例如
int a = 10;
int *p = &a;
p指针所指的是a的地址 指针存放的是地址。
指针变量的值就是a的地址,用上面例子来说,指针变量指向的是a a变量的值是10,所以指针变量所指的变量的值是10,而指针变量的值 存放的是a的内存地址。
可以形象的把变量名当成柜子名,柜子里存放的东西就是10,这个柜子有具体的地址,比如a柜子在2排第四个,里面存放的是10,那么指针p存放的就是“二排第四个”这个地址,a就是柜子名,10就是指针变量(二排第四个)所指变量(a)的值(10).

万千只cnm 发表于 2020-12-11 23:35:03

永恒的蓝色梦想 发表于 2020-12-11 21:53
重学日语输入法

ありがとう{:5_91:}

万千只cnm 发表于 2020-12-11 23:42:37

Ryan_Li 发表于 2020-12-11 22:11
这个函数是传入指针对地址进行操作,指针指向没有改变 ,只是改变了所指变量的值。
指针指向的是地址例 ...

どうもありがとう 詳しいね{:5_108:}
页: [1]
查看完整版本: 指针 调用指针函数 萌&#127775;求教