首页 > 代码库 > 9.typedef
9.typedef
关键字typedef
typedef 操作符可以看做是普通变量和类型之间的转换开关!!
例如
typedef int Integer;//定义了一种类型
int Integer;//定义了一个变量
就是类型和变量的区别
A. 对数据类型定义“别名"
int main(int argc, const char * argv[]) {
typedef int integer;
integer i = 5;
printf("print the int: %d\n", i);
return 0;
}
typedef int integer;
integer i = 5;
printf("print the int: %d\n", i);
return 0;
}
区别于宏定义的概念,typedef相当于定义了一种新的数据类型,而不是简单的别名
在”别名“的基础上再定义一个别名
typedef int integer;
typedef integer mytype;
typedef integer mytype;
B. typedef与指针
typedef char * String;
String name = "Simon”;
String name = "Simon”;
C. typedef与结构体
typedef struct MyPoint
{
int x;
int y;
} Point;
Point p = {10, 10};
{
int x;
int y;
} Point;
Point p = {10, 10};
D. typedef 结构体指针
typedef struct
{
int age;
char *name;
} * PP;
{
int age;
char *name;
} * PP;
PP per1 = {11, "Tom"};//Running Error
shoulde be:
PP per1;
per1->age = 17;
(*per1).name = "Tom";
E. typedef 指向函数的指针
F. #define 与 typedef 的区别
typedef char * String1
#define String2 char *
String1 s1,s2;
String2 s3,s4;
==> 其中,s1,s2,s3是char指针,s4仅仅是普通的char变量
9.typedef
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。