简介
C语言中,函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个地址传递给函数,函数可以通过指针访问指针所指向的对象。同样,函数的返回值可以是整型、实型、字符型,也可以是指针类型。
一 .指针作函数的参数
指针作为函数的形参时,在形参说明时需要使用格式“类型名*指针名”,*号不能省略,而在函数定义的说明部分,*号的作用是类型说明符。因此在函数声明部分可以写成
void changeA(int *);这样的形式。在形参说明格式需要使用格式为“类型名 * 指针名”这样的类型。
实战利用函数实现交换两个变量的值
如下
#include<stdio.h>
void swap (int *pl,int *p2)/*函数的形参为指针类型*
{
int t; t=*p1; /*交换指针所指向变量的值*/
*p1=* p2;*p2=t;
printf("在函数中: * p1= %d,* p2= %d\n",*p1,* p2);
}
int main()
{
int a=10,b=20;
int *pa=&a,*pb=&b; /* pa 指向 a,pb 指向b*/
printf("调用函数之前:a=%d,b=%d\n",a,b);
swap(pa,pb); /*调用函数,实参为指针变量*
printf("调用函数之后:a=%d,b=%d\n",a,b);
return 0;
}
要注意里面*的使用,要理解*作为间接访问符的意义。