1. 何为指针变量的解引用?
所谓"指针变量的解引用"指的是通过间接寻址运算符来访问指针变量指向的变量的值.
值得注意的是, 间接寻址运算符(*)和定义指针变量时的*是不同的.
2.为什么要用指针变量作为函数参数呢?
[call by value传参模式举例]
[call by reference传参模式举例]
打个比方, call by value传参模式好比我们把电脑中的某份文件复制一份后发给别人, 无论别人怎么修改这份文件, 我们的这份文件(的内容)都不会发生改变. 而call by reference传参模式好比我们把电脑的开机密码告知他人, 即允许他人访问电脑中的文件, 如此一来保存在自己电脑中的文件就很难保持原样了.
[附例(交换两数数值)]
#include<stdio.h>
void Swap(short *a, short *b);
void Swap(short *x, short *y)
{
short temp = *x;
*x = *y;
*y = temp;
}
int main()
{
short x, y;
scanf("%hd%hd", &x, &y);
printf("x = %hd, y = %hd.\n", x, y);
Swap(&x, &y);
printf("x = %hd, y = %hd.\n", x, y);
/* */
return 0;
}