C语言写元素类

C语言写元素类

文章中的Integer.h在这篇文章中C语言写整数类(Integer)

简介:在模板与泛型还没有诞生的时候,怎么用C语言实现相似的功能了。

Element.h

#ifndef _Element_h_
#define _Element_h_

#include "Integer.h"

typedef int ELEMENT;// 通过typedef来指定ELEMENT为需要的数据类型

/*
ElementInput 函数从键盘输入元素保存到内存地址 x 处。

ElementOutput 函数将内存地址 x 处的元素输出到屏幕上。

注:输入和输出均采用采用十进制的形式。

ElementGt 函数判断指针 x 所指元素大于指针 y 所指元素。

ElementGe 函数判断指针 x 所指元素大于等于指针 y 所指元素。

ElementLt 函数判断指针 x 所指元素小于指针 y 所指元素。

ElementLe 函数判断指针 x 所指元素小于等于 指针 y 所指元素。

ElementEq 函数判断指针 x 所指元素等于指针 y 所指元素。

ElementNe 函数判断指针 x 所指元素不等于指针 y 所指元素。

注:以上判断函数,若条件成立,则函数值为 1(真),否则为 0(假)。
*/
void ElementInput(ELEMENT *x);
void ElementOutput(const ELEMENT *x);

int ElementGt(const ELEMENT *x, const ELEMENT *y);
int ElementGe(const ELEMENT *x, const ELEMENT *y);
int ElementLt(const ELEMENT *x, const ELEMENT *y);
int ElementLe(const ELEMENT *x, const ELEMENT *y);
int ElementEq(const ELEMENT *x, const ELEMENT *y);
int ElementNe(const ELEMENT *x, const ELEMENT *y);

#endif

Element.c

void ElementInput(ELEMENT *x)
{
	scanf (" %d", x);
} 
void ElementOutput(const ELEMENT *x)
{
	printf("%d", *x);
}

int ElementGt(const ELEMENT *x, const ELEMENT *y)
{
	return *x - *y > 0;
}
int ElementGe(const ELEMENT *x, const ELEMENT *y)
{
	return (*x - *y) >= 0;
}
int ElementLt(const ELEMENT *x, const ELEMENT *y)
{
	return *x - *y < 0;
}
int ElementLe(const ELEMENT *x, const ELEMENT *y)
{
	return *x - *y <= 0;
}
int ElementEq(const ELEMENT *x, const ELEMENT *y)
{
	return *x == *y;
}
int ElementNe(const ELEMENT *x, const ELEMENT *y)
{
	return *x != *y;
}

void ElementSwap(ELEMENT *x, ELEMENT *y)
{
	ELEMENT temp;
	temp = *x;
	*x = *y;
	*y = temp;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客李华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值