解释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的大小。
  • 每个指针都保存计算机中一个内存位置的地址,但是指针引用的变量的大小可能不同。

更新于:2024年6月20日

2K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告