黑马程序员——C语言基础——typedef的用法
来源:互联网 发布:淘宝评价系统默认评论 编辑:程序博客网 时间:2024/05/04 16:10
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1.typedef的定义和作用
typedef是C语言的关键字,作用是为一种数据类型定义一个新名字。数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。
在编程中使用typedef目的一般有两个:
1,给变量一个易记且意义明确的新名字,
2,简化一些比较复杂的类型声明。
2.typedef的使用
1>定义基本数据类型
例如:typedef int MyInt;
另外,可以在别名的基础上再起一个别名。如:typedef MyInt MyInt2;
2>定义结构体类型
结构体的定义有三种方式:
第一种方式: 先定义结构体再定义typedef
struct Person { int age; }; typedef struct Person Person;
第二种方式:定义结构体的同时定义typedef
typedef struct Person{ int age; }Person;第三种方式:
typedef struct { int age; }Person; <span style="color: black; font-family: Consolas, 'Courier New', Courier, mono, serif; line-height: 18px; font-size: 9px; background-color: inherit;"> </span>
3>定义指针类型
定义普通类型的指针
<pre name="code" class="objc">typedef char *String;
定义结构体的指针两种方式
第一种方式:
struct Person { // 第一种 int age; }; typedef struct Person *PersonPoint;
第二种方式:
typedef struct Person { // 第二种 int age; }* PersonPoint;
4>定义枚举类型
定义枚举类型也有两种方式:
第一种方式是定义已经定义的枚举类型
enum Season { spring , summer, autumn, winter }; typedef enum Season Season;第一种方式是定义枚举类型的同时定义别名
typedef enum{ spring, summer, autumn, winter }Season; <span style="color: black; line-height: 18px; font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px; background-color: inherit;"> </span>
5>定义指向函数的指针
// 这里与其他类型不同MyMethod即为别名 typedef int (*MyMethod)(int ,int); int minus(int a,int b) { return a + b; } int sum(int a, int b) { return a +b; } // 使用定义的类型指向函数 MyMethod MySum = sum; MyMethod MyMinus = minus; // 注意这里MyMethod不用加* <span style="color: black; font-family: Consolas, 'Courier New', Courier, mono, serif; line-height: 18px; font-size: 9px; background-color: inherit;"> </span>
3.typedef与#define的区别
#define是预处理指令,是在程序运行之前替换代码,只替换代码而不进行运算等操作
typedef是定义一个新名(别名)
从下面的例子中可以看出二者的差别:
#define String1 char *
typedef char *String2;
String1 s1,s2; // 此处等价于char *s1;chars2;
String2 s3,s4; // 此处等价于char *s3;char*s4
0 0
- 黑马程序员——【C语言】typedef的用法
- 黑马程序员——C语言基础——typedef的用法
- 黑马程序员——c语言基础:枚举和typedef
- 黑马程序员 C语言基础:typedef 用法
- 黑马程序员——C语言基础——typedef的使用
- 黑马程序员——C语言基础--关于typedef和define的重要区别记录以及typedef的经典例子
- 黑马程序员——13-C语言之typedef
- 黑马程序员——C语言------typedef、static和extern
- 黑马程序员——C语言基础
- 黑马程序员——C语言基础
- 黑马程序员——C语言基础
- 黑马程序员——OC语言加强---block的typedef
- 黑马程序员——c语言复杂数据类型:结构体和枚举,typedef的使用
- 黑马程序员——C语言的关键字 typedef,static,extern和预处理指令
- 黑马程序员——C语言基础---C语言的基础语法
- 黑马程序员——C语言基础篇---基础语法
- 黑马程序员——C语言基础---基础语法
- C语言基础—— typedef
- 鸟哥私房菜实践(13)- DNS
- XCODE6 提交至 App Store
- JSON.stringify 语法讲解
- 我们经常的做梦,却总是难以醒来;
- Android之Handler用法总结
- 黑马程序员——C语言基础——typedef的用法
- C++命名规则
- GSM模块:G610/G600初始化流程
- 别点开,先想想--你会如何测试一个网页登陆界面
- BLE
- Cocos 配置 FMOD EX
- SVN 中trunk、tags、branches使用
- C#连接Access数据库
- SVN 迁移某一特定目录下的项目代码