指针极大地扩展了函数的可能性。我们不再局限于返回一个值。使用指针参数,函数可以更改实际数据,而不是数据的副本。
要更改变量的实际值,调用语句将地址传递给函数中的指针参数。
例如,以下程序交换两个值:
void swap (int *num1, int *num2); int main() { int x = 25; int y = 100; printf("x是 %d, y是 %d\n", x, y); swap(&x, &y); printf("x是 %d, y是 %d\n", x, y); return 0; } void swap (int *num1, int *num2) { int temp; temp = *num1; *num1 = *num2; *num2 = temp; }
当函数使用指针按地址访问变量时,程序交换变量的实际值。