当前位置: 首页 > 编程笔记 >

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

鲁弘厚
2023-03-14
本文向大家介绍解释使用C语言进行功能间通信的指针。,包括了解释使用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上的大小。

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

 类似资料:
  • 下面为了让大家更好的理解上面两个概念,我们来举几个例子来查看一下。 解释第一个概念:大小一样的盒子存储指针 代码如下 我们声明了两个类型的变量,它们的类型是不同的。我们通过sizeof来查看这两个指针变量的大小。 #include <stdio.h> int main(){ int *p1; char *p2; printf("the p1 is %u, th

  • 本文向大家介绍C语言实现加密解密功能,包括了C语言实现加密解密功能的使用技巧和注意事项,需要的朋友参考一下 加密主要是通过一种算法对原内容进行处理,使原来内容不直观可见。解密过程通常要知道加密的算法,然后对加密后的内容进行逆处理,从而实现解密功能。当然解密也有一些暴力破解的方法。接下来以 c 语言 为例讲解一种简单的加密解密以及暴力破解字符串的方法,带您走进加密解密技术的大门。 先讲一下凯撒加密,

  • 本文向大家介绍如何用C语言建立函数之间的通信?,包括了如何用C语言建立函数之间的通信?的使用技巧和注意事项,需要的朋友参考一下 函数之间通过参数和返回值进行通信。 'C'功能的服务器场如下- 例如,void mul(int x,int y) 返回值及其类型 一个函数可能会也可能不会将值发送回调用函数。 这将通过使用return语句来完成 返回类型为void,int,float,char和doubl

  • 问题内容: 我正在用Go编写负载平衡的服务器系统。 负载平衡服务器将与多个应用程序服务器通信并处理请求。这些服务器都可以在同一台计算机或网络上运行。 我已经找到了网络,但是现在我需要找到一种最佳的方式来使负载均衡器与本地应用程序服务器进行通信。使用-networking似乎并非最佳选择。 我正在尝试通过和系统调用共享内存,但是没有找到任何有效的示例,并且该软件包也完全没有文档说明。 有人可以为我提

  • 14.2.1 概念 在第一个例子中,协程是独立执行的,他们之间没有通信。他们必须通信才会变得更有用:彼此之间发送和接收信息并且协调/同步他们的工作。协程可以使用共享变量来通信,但是很不提倡这样做,因为这种方式给所有的共享内存的多线程都带来了困难。 而 Go 有一种特殊的类型,通道(channel),就像一个可以用于发送类型化数据的管道,由其负责协程之间的通信,从而避开所有由共享内存导致的陷阱;这种

  • 本文向大家介绍Android 进程间通信AIDL使用详解,包括了Android 进程间通信AIDL使用详解的使用技巧和注意事项,需要的朋友参考一下 一、概述 AIDL 意思即 Android Interface Definition Language,翻译过来就是Android接口定义语言,是用于定义服务器和客户端通信接口的一种描述语言,可以拿来生成用于IPC的代码。从某种意义上说AIDL其实是一