解释C语言中函数间通信的指针。
我们知道函数可以按值调用和按引用调用。
- 如果实际参数不应在被调用函数中更改,则按值传递参数。
- 如果实际参数的值应该在被调用函数中更改,则使用按引用传递。
- 如果函数必须返回多个值,则通过使用按引用调用间接返回这些值。
**另请阅读:** C语言中的按值调用函数 和 C语言中的按引用调用函数
示例
以下是演示返回多个值的C程序:
#include<stdio.h> void main() { void areaperi(int,int*,int*); int r; float a,p; printf("enter radius of circle:
"); scanf("%d",&r); areaperi(r,&a,&p); printf("area=%f
",a); printf("perimeter=%f",p); } void areaperi(int x,int *p,int *q) { *p=3.14*x*x; *q=2 * 3.14*x; }
输出
执行上述程序时,会产生以下输出:
Enter radius of circle: 5 Area=78.50000 Perimeter=31.40000
注意
- 指针具有与其关联的类型。它们不仅仅是指针类型,而是指向特定类型的指针。
- 所有指针的大小相同,等于int的大小。
- 每个指针都保存计算机中一个内存位置的地址,但是指针引用的变量的大小可能不同。
广告