枚举值的定义

enum eMovePriorityLevel {

eMovePriorityLevel_cant_move_unknown,

eMovePriorityLevel_cant_move_by_win, ///< 不能移动-已经胜利

eMovePriorityLevel_wall, ///< 不能移动-遇到了墙

eMovePriorityLevel_cant_move_by_go_twice, ///< 不能移动-已经走了2次

eMovePriorityLevel_can_move_by_go_once, ///< 可以移动-已经走了一次

eMovePriorityLevel_can_move_by_door, ///< 可以移动-是门, 从来没走过

};

使用枚举值类型的函数定义

enum eMovePriorityLevel GetMovePriorityLevel(char cPos)

使用枚举值类型的函数实现

enum eMovePriorityLevel GetMovePriorityLevel(char cPos)

{

enum eMovePriorityLevel Level;

switch (cPos)

{

case CHAR_WALL:

Level = eMovePriorityLevel_wall;

break;

case CHAR_DOOR:

Level = eMovePriorityLevel_can_move_by_door;

break;

case CHAR_EXIT:

Level = eMovePriorityLevel_cant_move_by_win;

break;

case CHAR_GO_ONCE:

Level = eMovePriorityLevel_can_move_by_go_once;

break;

case CHAR_GO_TWICE:

Level = eMovePriorityLevel_cant_move_by_go_twice;

break;

default:

Level = eMovePriorityLevel_cant_move_unknown;

break;

}

return Level;

}

在C语言的结构中,如果要定义一个自己的指针,需要声明该指针为结构,否则编译不过. 这点和C++不同. 语法更严格.

typedef struct _tag_obj_info

{

struct _tag_obj_info* pPrev; ///< error : _tag_obj_info* pPrev;

struct _tag_obj_info* pNext;

char cFlags;

size_t nBlockIndexBegin;

size_t nBlockIndexEnd;

}TAG_OBJ_INFO;

枚举 函数 c语言,在C语言中函数中使用枚举类型和结构相关推荐

  1. 【C语言】C语言多线程实例之pthread的应用

    [C语言]C语言多线程实例之pthread的应用 Pthread是由POSIX提出的一套通用的线程库,在linux平台下,它被广泛的支持,而windows平台下,却并不被支持,而pthreads-w3 ...

  2. pthread_create函数的详细讲解(包括向线程函数传递参数详解)

    pthread_create是UNIX环境创建线程函数 头文件 #include<pthread.h> 函数声明 int pthread_create(pthread_t*restrict ...

  3. python中函数包括标准库函数吗_Python语言和标准库(第二章:函数)

    a-如何创建函数. b-给出一些指导原则,帮助思考如何创建和组织程序以使用函数. c-如何编写函数,使随后可以询问它们的工作方式和实现的功能. 2.1将程序放在单独的文件里 为了更加方便,从现在开始, ...

  4. R语言笔记6:在R中写一些简单的函数、functions基础和作用域

    R语言基础系列: 1数据类型(向量.数组.矩阵. 列表和数据框) 2读写数据所需的主要函数.与外部环境交互 3数据筛选--提取对象的子集 4向量.矩阵的数学运算 5控制结构 Your first R ...

  5. R语言ggplot2可视化移除数据中的NA值再可视化实战:消除图形中非常突出的NA柱状图、使用subset函数、使用drop_na函数

    R语言ggplot2可视化移除数据中的NA值再可视化实战:消除图形中非常突出的NA柱状图.使用subset函数.使用drop_na函数 目录

  6. R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型、分类预测器(分类变量)被自动替换为一组虚拟编码变量、summary函数查看检查模型、使用table函数计算混淆矩阵评估分类模型性能

    R语言使用R基础安装中的glm函数构建乳腺癌二分类预测逻辑回归模型(Logistic regression).分类预测器(分类变量)被自动替换为一组虚拟编码变量.summary函数查看检查模型.使用t ...

  7. R语言广义线性模型函数GLM、R中有几种logistic回归扩展和变异、robust包中的glmRob函数鲁棒logistic回归、ms包中的lrm函数拟合序数逻辑回归

    R语言广义线性模型函数GLM.glm函数构建逻辑回归模型(Logistic regression).R中有几种logistic回归扩展和变异.robust包中的glmRob函数鲁棒logistic回归 ...

  8. R语言使用car包的outlierTest函数通过假设检验的方法检测回归模型中的异常值(outlier)、输出异常值对应的统计量、p值以及Bonferonnii校正p值

    R语言使用car包的outlierTest函数通过假设检验的方法检测回归模型中的异常值(outlier).输出异常值对应的统计量.p值以及Bonferonnii校正p值 目录

  9. R语言关联规则挖掘数据集预览、分析、筛选:项目数的分布形态(分位数、密度图)、itemFrequency函数统计每一项目在所有事务中出现的次数、最常发生的项目、数据筛选(交易的集合项目大于1)

    R语言关联规则挖掘数据集预览.分析.筛选:项目数的分布形态(分位数.密度图).itemFrequency函数统计每一项目在所有事务中出现的次数.最常发生的项目.数据筛选(交易的集合项目大于1) 目录

  10. R语言dplyr包的mutate函数将列添加到dataframe中或者修改现有的数据列:基于条件判断创建布尔型指示变量、将异常离散编码转化为NA值

    R语言dplyr包的mutate函数将列添加到dataframe中或者修改现有的数据列:基于条件判断创建布尔型指示变量.将异常离散编码转化为NA值 目录

最新文章

  1. 王勇详谈 Linux Deepin 背后的故事
  2. Nginx(二)------nginx.conf 配置文件
  3. 基于python3写的源码剖析_Python 极简插件系统 pluggy 源码剖析
  4. putty 远程linux桌面,Linux远程桌面工具Xming+Putty的搭建
  5. 关于ASCII字符的那些事儿
  6. Python小白的数学建模课-22.插值方法
  7. 火了 2 年的服务网格究竟给微服务带来了什么?(转载)
  8. Python `__enter__` `__exit__`(with)
  9. 变量和数据结构的赋初值
  10. RAID磁盘阵列的部署(red hat 6.5)
  11. n1盒子救砖_新手教程教你N1盒子纯净刷机教程,实现OMV、HomeAssistant功能
  12. 系统漏洞是威胁计算机网络安全的形式,系统漏洞是威胁计算机网络安全的形式_网络 安全 银行 漏洞 川企_https 安全受到 威胁(2)...
  13. Dell PowerEdge全系服务器RAID卡驱动程序 下载地址
  14. 直播连麦怎么自动化测试
  15. 淘宝开放平台订单接口
  16. setText()的一点小体会
  17. 【设计模式】--解释器模式
  18. 推特营销|推特群推你有无限可能
  19. LeetCode 362. 敲击计数器
  20. 英飞凌TC275芯片开发笔记

热门文章

  1. 【指纹识别】基于matlab GUI指纹识别【含Matlab源码 1353期】
  2. 【优化算法】Tent混沌映射的粒子群算法【含Matlab源码 940期】
  3. mathematica完爆matlab,Mathematica和Matlab相比的计算效率问题
  4. 2中我建的表怎么是小写的_面试官:2个线程交替打印大小写英文字母,你会怎么实现?...
  5. pycharm右侧显示代码缩略图/预览 CodeGlance
  6. linux centos7 配置ftp,Linux Centos7配置ftp服务器
  7. 实验一 线性表的顺序存储与实现_线性表的存储结构(java)
  8. 回文数c语言构造思路,基础练习 回文数 C语言
  9. 客厅计算机笔记本cpu,我的家庭娱乐中心,适合客厅的 HTPC(家庭影院电脑)
  10. 光电经典好书:《光电系统设计基础》-吴晗平