标签:
typedef作用简介
1#include <stdio.h>
2
3 typedef int Integer;
4 typedef unsigned int UInterger;
5
6 typedef float Float;
7
8 int main(int argc, const char * argv[]) {
9 Integer i = -10;
10 UInterger ui = 11;
11
12 Float f = 12.39f;
13
14 printf("%d %d %.2f", i, ui, f);
15
16 return 0;
17 }
1 #include <stdio.h>
2
3 typedef char *String;
4
5 int main(int argc, const char * argv[]) {
6 // 相当于char *str = "This is a string!";
7 String str = "This is a string!";
8
9 printf("%s", str);
10
11 return 0;
12 }
1 // 定义一个结构体
2 struct MyPoint {
3 float x;
4 float y;
5 };
6
7 int main(int argc, const char * argv[]) {
8 // 定义结构体变量
9 struct MyPoint p;
10 p.x = 10.0f;
11 p.y = 20.0f;
12
13 return 0;
14 }
1 // 定义一个结构体
2 struct MyPoint {
3 float x;
4 float y;
5 };
6
7 // 起别名
8 typedef struct MyPoint Point;
9
10 int main(int argc, const char * argv[]) {
11 // 定义结构体变量
12 Point p;
13 p.x = 10.0f;
14 p.y = 20.0f;
15
16 return 0;
17 }
// 定义一个结构体,顺便起别名
typedef struct MyPoint {
float x;
float y;
} Point;
甚至可以省略结构体名称:
typedef struct {
float x;
float y;
} Point;
1 #include <stdio.h>
2
3 // 定义一个结构体并起别名
4 typedef struct {
5 float x;
6 float y;
7 } Point;
8
9 // 起别名
10 typedef Point *PP;
11
12 int main(int argc, const char * argv[]) {
13 // 定义结构体变量
14 Point point = {10, 20};
15
16 // 定义指针变量
17 PP p = &point;
18
19 // 利用指针变量访问结构体成员
20 printf("x=%f,y=%f", p->x, p->y);
21 return 0;
22 }
1 #include <stdio.h>
2
3 // 定义一个sum函数,计算a跟b的和
4 int sum(int a, int b) {
5 int c = a + b;
6 printf("%d + %d = %d", a, b, c);
7 return c;
8 }
9
10 int main(int argc, const char * argv[]) {
11 // 定义一个指向sum函数的指针变量p
12 int (*p)(int, int) = sum;
13
14 // 利用指针变量p调用sum函数
15 (*p)(4, 5);
16
17 return 0;
18 }
1 include <stdio.h>
2
3 // 定义一个sum函数,计算a跟b的和
4 int sum(int a, int b) {
5 int c = a + b;
6 printf("%d + %d = %d", a, b, c);
7 return c;
8 }
9
10 typedef int (*MySum)(int, int);
11
12 int main(int argc, const char * argv[]) {
13 // 定义一个指向sum函数的指针变量p
14 MySum p = sum;
15
16 // 利用指针变量p调用sum函数
17 (*p)(4, 5);
18
19 return 0;
20 }
六、typedef与#define
1 typedef char *String;
2
3 int main(int argc, const char * argv[]) {
4 String str = "This is a string!";
5 return 0;
6 }
---------------
1 #define String char *
2
3 int main(int argc, const char * argv[]) {
4 String str = "This is a string!";
5 return 0;
6 }
---------
1 typedef char *String1;
2
3 #define String2 char *
4
5 int main(int argc, const char * argv[]) {
6 String1 str1, str2;
7
8 String2 str3, str4;
9 return 0;
10 }
标签:
原文地址:http://www.cnblogs.com/ShaoYinling/p/4561133.html