typedef用法简介:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
typedef⽤法简介:1、⽤新的类型名代替已有类型名:
#include
typedef int INTEGER;
int main (void)
{
INTEGER i = 2; //与int定义作⽤⼀样
int a = 3;
printf ("%d %d\n\n", i, a);
return 0;
}
2、声明结构类型:
#include
typedef struct { //此处声明DATE结构体。
int month;
int day;
int year;
}DATE;
int main (void)
{
DATE date_one;
date_one.month = 2;
date_one.day = 17;
date_one.year = 2019;
printf ("%d - %d - %d \n", date_one.year, date_one.month, date_one.day); return 0;
}
3、声明数组:
#include
typedef int NUM[100]; //这⾥声明NUM为容量100的整型数组。
int main (void)
{
NUM num; //此次定义的就是包含100个数据容量的整型数组;printf ("%d\n", sizeof (num)); //输出应为400;(4*100)
return 0;
}
4、声明指针:
#include 4
typedef char* STRING; //这⾥声明为char类型的指针。
int main (void)
{
STRING pointer;
pointer = "Hello World!";
printf ("%s\n\n", pointer);
return 0;
}
5、声明指向函数的指针类型
#include
#define GET_MAX 0
#define GET_MIN 1
int get_max (int i, int j);
int get_min (int i, int j);
int compare (int i, int j, int flag);
typedef int (*POSITION)(); //这⾥声明⼀个返回整形数值的指向函数的指针类型。
//注意:指针的返回值类型要与函数的返回值类型相同。
int main (void)
{
int i = 5, j = 10, ret = 0;
ret = compare (i, j, GET_MAX);
printf ("The max is %d.\n", ret);
ret = compare (i, j, GET_MIN);
printf ("The min is %d.\n", ret);
return 0;
}
int compare (int i, int j, int flag)
{
POSITION p1; //在这⾥使⽤;
if (flag == GET_MAX)
p1 = get_max;
else
p1 = get_min;
return (p1(i, j));
}
int get_max (int i, int j)
{
return (i > j ? i : j);
}
int get_min (int i, int j)
{
return (i > j ? j : i);
}
因为⽹站的原因排版有问题,见谅!。