[C语言 - 9] typedef
关键字typedef
typedef 操作符可以看做是普通变量和类型之间的转换开关!!
例如
typedef int Integer;//定义了一种类型
int Integer;//定义了一个变量
就是类型和变量的区别
A. 对数据类型定义“别名"
1 int main(int argc, const char * argv[]) {
2 typedef int integer;
3 integer i = 5;
4 printf("print the int: %d\n", i);
5
6 return 0;
7 }
区别于宏定义的概念,typedef相当于定义了一种新的数据类型,而不是简单的别名
在”别名“的基础上再定义一个别名
typedef int integer;
typedef integer mytype;
typedef integer mytype;
B. typedef与指针
1 typedef char * String; 2 String name = "Simon”;
C. typedef与结构体
1 typedef struct MyPoint
2 {
3 int x;
4 int y;
5 } Point;
6
7 Point p = {10, 10};
D. typedef 结构体指针
1 typedef struct
2 {
3 int age;
4 char *name;
5 } * PP;
6
7 PP per1 = {11, "Tom"};//Running Error
应该为
1 int main(int argc, const char * argv[]) {
2 @autoreleasepool {
3 typedef struct{
4 int age;
5 char *name;
6 } PP,*Person;
7
8 Person p = malloc(sizeof(PP));
9 p->age = 12;
10 p->name = "simon";
11
12 printf("%d - %s\n", p->age, p->name);
13 }
14 return 0;
15 }
E. typedef 指向函数的指针
F. #define 与 typedef 的区别
1 typedef char * String1 2 #define String2 char * 3 4 String1 s1,s2; 5 String2 s3,s4;
==> 其中,s1,s2,s3是char指针,s4仅仅是普通的char变量
如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。最后你发现你会是个超人。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。
电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗?
求知若饥,虚心若愚。
当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。


浙公网安备 33010602011771号