C语言typedef 关键字

关键字:typedef

用法:为各种数据类型定义一个新名字(别名)


typedef与基本数据类型

typedef int Integer;Integer a 8

也可以在别名的基础上再起一个别名

typedef IntegerMyInteger;MyInteger aa = 8;

原来的数据类型也可以正常使用

typedef与指针

typedef char *String;String str = “stone”;

typedef结构体

typedefstructPerson Per;// 这样在定义结构体变量时 就不用带上struct 关键字了

Per p; p.name = “xyz”;

定义并取别名:

typedefstruct Student// 结构体名 Student 可以省略

{

   int age;

    

} Stu;


void processStudent()

{

   Stu student = {18};

    student.age =19;

}

typedef与指向结构体的指针

typedef struct 

{

int age;

} Stu;

Stu stu = {20};

typedef Stu *S; //指向结构体的指针  取别名 S

S s = &stu;


typedef struct LNode

{

    int data;

    struct LNode *next;

} LinkList, *SList;

int main(int argc, const char * argv[])

{

    LinkList l = {1, NULL};

    LinkList ll = {2, NULL};

    l.next = ≪

    printf("%d, ", l.next->data);

    

    SList sl = ≪

    if (sl->next != NULL)

    printf("%d, ", sl->data);

    return 0;

}


typedef枚举类型

typedef enum 

{

} Season;  

//用法与结构体类似

typedef指向函数的指针

int sum(int a, int b)

{

return a + b;

}

void main()

{

typedef int (*P)(int a, int b);

P p = sum;

int result = (*p)(3, 5);

return 0;

typedef#define

typedef char *String;

String s = “abc”

#define String char *;

String s = “abc”;  //这样使用效果一样

当 这样使用:

String s1,s2;  //用第一种替换: char *s1, char *s2;

String s3,s4;  //用第二种替换: char * s3, s4;   <==>  char *s3, char s4;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值