黑马程序员技术交流社区
标题: C语言学籍笔记11 [打印本页]
作者: 布鲁兹老爷 时间: 2015-10-14 01:18
标题: C语言学籍笔记11
给变量类型起一个别名。
typedefint MyInt;
typedef给结构体或枚举定义别名最为方便
//给结构体设置一个别名
//方法1:
struct Student
{
int age;
};
typedef structStudent MyStu;
//方法2:
typedef struct
{
int age;
char *name;
}MyStu2;
int main()
{
MyStustu1 = {20};
MyStu2stu2 = {30, "tom"};
return 0;
}
第一种方法比较灵活,可以保留以前的定义变量的方式
struct Student stu3;
第二种就不行了。
枚举也是同理
typedef enum Sex
{
Man,
Woman
}MySex;
typedef enum{
man,
woman
}MySex2;
指向函数的指针也可以用typedef
普通的函数指针
int (*p)(int,int) = sum;
int value = p(10,20);
这样写很麻烦。这时候可以使用typedef定义一个指向函数的指针的类型。
typedef int(*MyPoint)(int, int);//定义指向函数的指针的类型智能这么写。
然后就可以这样使用
MyPointp = sum;
MyPointp2 = minus;
p(10,20);结果是30
p2(20,10);结果是10
定义指向结构体的指针的类型
typedef struct
{
int age;
char *name;
}MyStu2;
//指向结构体的指针的新类型定义
typedef MyStu2 * StudentPoint;
//main函数中调用
MyStu2 stu = {10,"Tom"};
StudentPoint stuP = &stu;
printf("age = %d ,name = %s\n",stuP->age, stuP ->name);
也可以这么写
typedef structStudent2
{
int age;
char *name;
}*StudentPoint2;
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |