解释使用C语言进行功能间通信的指针。

我们知道,函数可以按值调用,也可以按引用调用。

  • 如果在调用的函数中实际参数不应更改,则按参数传递值。

  • 如果在调用的函数中实际参数的值需要更改,则使用传递引用。

  • 如果函数必须返回多个值,请使用按引用调用间接返回这些值。

示例

以下是用于演示返回多个值的C程序-

#include<stdio.h>
void main() {
   void areaperi(int,int*,int*);
   int r;
   float a,p;
   printf("enter radius of circle:\n");
   scanf("%d",&r);
   areaperi(r,&a,&p);
   printf("area=%f\n",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上的大小。

  • 每个指针都拥有计算机中一个内存位置的地址,但是指针引用的变量的大小可以不同。