泛型(高级指针)指针编程

本文介绍了C语言中void *作为泛型指针的使用,强调其不能解引用和进行算术运算的特点。讨论了C语言不支持函数重载的原因,并对比了C++中函数重载的实现。文中通过示例展示了如何利用泛型指针实现交换和查找功能的函数。
摘要由CSDN通过智能技术生成

void *:通用指针、高级指针、泛型指针,用于存储地址,不能解引用,也不能进行算术运算

C语言不支持函数重载的原因:它只在函数名前加_

例如:Max(int,int) ->_Max

           Max(float,float) ->_Max

C++支持函数重载的原因:要求参数列表不一样,因为它生成的符号会根据参数产生

例如:Max(int,int) ->(?Max@@YAHHH@Z)

           Max(float,float)->(?Max@@YAMMM@Z)


1、交换函数(泛型指针编程)

#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
#include <string.h>

//size:表示需要交换的字数据节数 
void Swap(void *vp1,void *vp2,int size)//泛型编程,通用编程
{
   char *tmp = (char *)malloc(size);//给临时变量动态申请内存空间 
   char *cp1 = (char *)vp1;//强制类型转换 将void *强转为char * 
   char *cp2 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值