Linux C 编程学习第五天_数据类型标志

Posted 哿与银冰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux C 编程学习第五天_数据类型标志相关的知识,希望对你有一定的参考价值。

数据类型标志

接上次数据抽象最后的问题,我需要一个数据标志,1就表示数据是极坐标,0就表示数据是直角坐标,这样在运算的时候,就不会数据转换造成精度损失,也不用调用不同的运算函数来计算了。

在开始这个之前,需要枚举 enum 的概念:

 枚举 enum 和 struct 关键字很类似,enum XXX  用来表示一个枚举类型,枚举类型的成员是常量,他们的值编译器自动分配:

 

 

 默认是从0开始分配,如果给第一个赋值,那么就会从那个值开始,数据类型是int

所以上述代码:num1   num2  num3  num4  num5   的值分别为,0  1  2   1  2   

另外要注意,枚举成员的名字和变量的名字是在统一命名空间的 ,这点和结构体不同

构建复数格式枚举:

好,这里我们就可以实现我们目的了,在之前的两种构建复数函数中添加一个新的结构体变量:

 

 

在构建复数函数中也进行修改:

 

 

 

 这样两个构建复数的函数都带上了标签,z.t 为0就是 a + bi 格式,为1就是极坐标格式。

对运算函数加一行判断标志

 

 这样修改之后的函数,不需要直到输入的复数是什么格式的,都可以计算出正确的实部。

同理其他运算函数都做类似添加,函数接口没有发生改变,但是运算函数却可以兼容不同的复数格式了。

 

至此,结构体告一段落。

以上是关于Linux C 编程学习第五天_数据类型标志的主要内容,如果未能解决你的问题,请参考以下文章

No_16_0224 Java基础学习第五天

《从零开始学Swift》学习笔记(Day 71)——Swift与C/C++混合编程之数据类型映射

2018-10-18学习python第五天

linux就该这么学--课程第五天

Linux C 编程学习第三天_return增量式开发递归

小白学js第五天之数组