enum和typedef分析
来源:互联网 发布:澳洲保健品 知乎 编辑:程序博客网 时间:2024/05/17 22:04
enum
是一种自定义类型,真真正正的常量
enum默认常量在前一个值的基础上依次加1
enum类型的变量只能取定义时的离散值,只能是int型
enum类型变量只能取值为花括号内的任何一个值
enum color
{
GREEN,
RED = 2,
BLUE
};
enum变量类型还可以给其中的常量符号赋值,如果不赋值则会从被赋初值的那个常量开始依次加1,如果都没有赋值,它们的值从0开始依次递增1。所以GREEN=0,BLUE=3。
枚举类型和#define区别
#define宏常量只是在预编译阶段简单的进行值替换,枚举常量是在编译的时候确定其值,是真真意义上的常量
#define宏常量无法被调试,枚举常量可以
#define宏常量无类型信息,枚举常量是一种特定类型的常量
typedef
用于给一个已经存在的数据类型重命名
并没有产生新的类型
typedef重定义的类型不能进行unsigned和signed扩展
typedef不能和static等存储类型指示符同时使用,因为每个变量只能有一种存储类型,所以代码:typedef static int i;是非法的。
typedef和#define区别
typedef是给已有类型取别名
#define为简单的字符串替换,无别名概念
typedef char* PCHAR;
PCHAR p1,p2; -->char* p1;char* p2;
#define PCHAR char*
PCHAR p1,p2; -->char* p1,p2; -->char* p1;char p2;
是一种自定义类型,真真正正的常量
enum默认常量在前一个值的基础上依次加1
enum类型的变量只能取定义时的离散值,只能是int型
enum类型变量只能取值为花括号内的任何一个值
enum color
{
GREEN,
RED = 2,
BLUE
};
enum变量类型还可以给其中的常量符号赋值,如果不赋值则会从被赋初值的那个常量开始依次加1,如果都没有赋值,它们的值从0开始依次递增1。所以GREEN=0,BLUE=3。
枚举类型和#define区别
#define宏常量只是在预编译阶段简单的进行值替换,枚举常量是在编译的时候确定其值,是真真意义上的常量
#define宏常量无法被调试,枚举常量可以
#define宏常量无类型信息,枚举常量是一种特定类型的常量
typedef
用于给一个已经存在的数据类型重命名
并没有产生新的类型
typedef重定义的类型不能进行unsigned和signed扩展
typedef不能和static等存储类型指示符同时使用,因为每个变量只能有一种存储类型,所以代码:typedef static int i;是非法的。
typedef和#define区别
typedef是给已有类型取别名
#define为简单的字符串替换,无别名概念
typedef char* PCHAR;
PCHAR p1,p2; -->char* p1;char* p2;
#define PCHAR char*
PCHAR p1,p2; -->char* p1,p2; -->char* p1;char p2;
- enum和typedef分析
- 7.enum和typedef分析
- enum , typedef 关键词分析
- enum,typedef分析
- enum 和 typedef
- enum 和 typedef
- c语言学习笔记(5)enum和typedef分析
- C - enum和typedef enum的使用
- enum和typedef enum相同吗
- enum和typedef enum的区别
- typedef enum 和enum详细用法
- typedef enum和enum的用法
- 【C语言复习(三)】enum、typedef 和#define的分析与区别
- typedef enum
- typedef enum
- enum、typedef
- typedef enum
- typedef , enum , typedef enum 理解
- 使用正则表达式截取字符串显示内容长度
- [Android开发常见问题-9] android如何给PagerTitleStrip设置字体大小
- 注释符号
- 浏览器DNS缓存机制分析
- hdu1339-A Simple Task
- enum和typedef分析
- struct和union分析
- const和volatile分析
- 图之Dijkstra算法
- Ubuntu下android SDK 的安装方法
- U盘误删除文件?迅龙数据恢复软件轻松找回数据
- 如何基于FFMPEG和SDL写一个少于1000行代码的视频播放器
- EclipseRCP 启动遇到org.osgi.framework.BundleException: The activator for bundle s invalid
- linux scp使用详解