您的位置:首页 > 其它

共用体

2019-02-19 23:42 24 查看

用typedef定义类型

1、用typedef声明新的类型名来代替已有的类型名。

例:声明INTEGER为整型

#include "StdAfx.h"
#include<stdio.h>
#include<stdlib.h>
typedef int INTEGER;
void main()
{
INTEGER i=1;
int j=2;
printf("%d%d\n\n",i,j);
}

2、声明结构类型

例:

#include "StdAfx.h"
#include<stdio.h>
#include<stdlib.h>
typedef struct{int month;int day;int year;}DATE;
void main()
{
DATE date_one;
date_one.month=3;
date_one.day=24;
date_one.year=2000;
printf("%d-%d-%d\n",date_one.year,date_one.month,date_one.day);
}

3、声明NUM为整型

#include "StdAfx.h"
#include<stdio.h>
#include<stdlib.h>
typedef int NUM[100];
void main()
{
NUM num;
printf("%d\n\n",sizeof(num));
}

4、声明p为字符指针类型

#include "StdAfx.h"
#include<stdio.h>
#include<stdlib.h>
typedef char *P;
void main()
{
P p1;
p1="Lv";
printf("%s",p1);
}

5、声明P为指向函数的指针类型,该函数返回整型值。

#include "StdAfx.h"
#include<stdio.h>
#include<stdlib.h>
typedef  void(*P)();
void fun();
void main()
{
P p1;
p1 = fun;
(p1)();
}
void fun()
{
printf("lv");
}

注:对数组而言,数组名就是它的地址,它的地址就是它本身。

说明:(1)用typedef可以声明各种类型名,但不能用来定义变量。

(2)用typedef只是对已经存在的类型增加一个类型名,而没有创造新的类型。

(3)当不同源文件中用到同一类型的数据时,常用typedef声明一些数据类型,把它们单独的放在一个文件中,然后再需要用到的文件中用#include命令把他们包含进来。

(4)使用typedef有利于程序的通用与移植。

(5)typedef与#define有相似之处,但二者是不同的。

区别:#define只是简单的代换,而typedef是如同定义变量一样声明一个类型。

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: