C语言中指针作为函数参数的问题。

2024年12月04日 23:52
有1个网友回答
网友(1):

没有任何错误啊!

p1,p2本来就是int*类型的,swap参数也是int*类型的, if(a>b) swap(p1,p2);这一句没错啊!swap本来就需要指针变量,p1,p2正好又是指针变量,直接写上去就可以了!

swap() 中是 int *p1 和int *p2这是因为这是swap的定义,既然是定义就要声明参数的类型,这里声明的是int*类型,那使用的时候就要传递int*类型的。主函数里的类型也是int*,对应上了,就可以了。

在定义变量的时候,建议你把*和数据类型当做一个整体,看成一种新的数据类型,不要把*和变量看做一个整体。比如int* p,int*是一个数据类型,p是变量名。