C语言基础七typedef

typedef:

使用:

typedef int Integer;//给int起一个别名,定义了一种新的数据类型,和int,double等级的
typedef Integer MyInteger;
typedef unsigned int UInteger;
//#define Integer int//
int main(){
-----int a=1;
-----Integer b=9;
-----UInteger c=11;
-----MyInteger d=213;
}


与指针:

char *s=”itcast“;
typedef  char * String;
String s1=”itcast“;



与结构体:

typedef struct{//此处删除了结构体名,因为完全可以省略
-----float x;
-----float y;
} Point;
Point p={10,10);


与指向结构体的指针:

typedef struct Point{//可以省略Point
-----float x;
-----float y;
}  * PP;
struct Point point={10.0f,20.0f};
PP pp=&point;//pp不用加*,是因为PP代表了(结构体 *)
printf(”x=%f,y=%f\n“,pp->x,pp->y);//x=10.000000,y=20.000000


与枚举:

typedef enum {spring ,summber,autumn,winter} Season;
Season s=spring;


与指向函数的指针:

首先复习一下指向函数的指针:
int sum(int a,int b){
-----int c=a+b;
-----return c;
}
void test(){
-----int (*p)(int,int);
-----p=sum;
-----(*p)(4,5);
}
使用typedef:
void test(){
-----typedef int(*SumPoint)(int,int);//这种方法和之前的不一样,SumPoint就是别名。
-----SumPoint p=sum;
----(*p)(4,5);
}


类似宏定义:

 typedef char * String1;//String1最好用这种方式起别名,把char * 当作一个整体String1就是一种类型。
#define String2 char *     //String2
-----String1 s1,s2;
-----//char *s3,s4;//char *s3;char s4;纯粹是字符串替换
-----String2 s3,s4;//s1,s2,s3都是指针变量,只有s4才是普通的char类型。


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值