小白学开发(iOS)基础C_关键字_typedef(2015-07-20)

 //
//  main.c
//  关键字_typedef
//
//  Created by admin on 15/7/21.
//  Copyright (c) 2015年 admin. All rights reserved.
//
#include <stdio.h>
void test();
/*
    1. typedef 作用:
                  > 给已经存储的类型起一个新的名字(即:起别名)
          使用场合:> 基本数据类型
                  > 指针          //给指针区别名和其他类型不同
                  > 结构体
                  > 枚举
                  > 指向函数指针
             注意:> 与宏有些差异,它本身是一种存储类型的关键字,与auto、extern、mutanle、static、register
                    等关键字不能出现在同一个表达式中
                  > 如果要用其它的名称来标识一个现有的类型,用typedef 不要用#define 
                  > 宏是替换,typedef是给现有的类型取个别名
*/
/*
    2. 给基本数据类型 起别名
                  > 格式:typedef 基本数据类型 别名
*/
    typedef int myInt;      // 给int类型起别名为myInt
    typedef char myChar;
    typedef double myDouble;
//  可以给别名再起别名
    typedef myChar youChar;
/*
    3. 给指针 起别名
             注意:> 给指针起别名和其他数据类型不同
             格式:> 指向函数的指针:  typedef 函数类型 (*指针名)() // 其中指针名就是新的类型名称,即别名
                  > 指向结构体的指针: typedef 结构体类型 *指针名
*/
void test()
{
    printf("这是个测试函数!");
}
//  给指向函数的指针 起别名
typedef void (*point1)();   // 指针别名为 point1  实际: point1 == void (*p)*()

/*
    4. 给结构体类型 起别名
             格式:>  typedef 结构体类型名称 别名
             说明:>  定义结构体类型有3种方式,因此起别名也有3中方式,如下:
*/
//      4.1 先定义结构体,再起别名
    struct Person
    {
        char *name;
        int age;
    };
typedef struct Person myPerson;     // 给结构体Person起别名为myPerson

//      4.2 定义结构体的同时 起别名
    struct Person1
    {
        char *name;
        int age;
    } myPerson1;                    // 给结构体Person1起别名为myPerson1

//      4.3 定义匿名结构体,并同时给这个结构体起别名
    struct
    {
        char *name;
        int age;
    } myPerson3;                    // 给这个匿名结构体起别名为myPerson3,以后可以通过别名调用这个结构体

/*
     4. 给枚举类型 起别名
              格式:>  typedef 枚举类型名称 别名
              说明:>  定义枚举类型有3种方式,因此起别名也有3中方式,如下:
 */
//      4.1 先定义枚举类型,再起别名
    enum Sex
    {
        man,
        woman,
        no
    };
typedef enum Sex mySex;

//      4.2 定义枚举类型的同时,起别名
    enum Sex1
    {
        man1,
        woman1,
        no1
    } mySex1;

//      4.3 定义匿名枚举类型的同时,起别名
    enum
    {
        man2,
        woman2,
        no2
    } mySex2;       //  可以根据此 别名引用匿名枚举类型

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值