typedef用法

#include <stdio.h>

int sum(int a, int b)
{
    return a + b;
}

int jian(int a, int b)
{
    return a - b;
}

int main(int argc, const char * argv[]) {
    
    // 1.基本数据类型
    typedef int MALATANG;
    
    // 2.用在数组,给数组起别名
    typedef int ARRAY[5]; // int a[5];  数组长度为5
    ARRAY a1 = {1,2,3,4,5},b1 = {5,4,3,2,1}; // int a1[5],b1[5];
    
    for (int i = 0; i < 5; i++) {
        printf("%d\t", a1[i]);
    }
    
    for (int i = 0; i < 5; i++) {
        printf("%d\t", b1[i]);
    }
    printf("\n");
    
    // 3.给结构体起别名
    struct Person{
        char *name;
        int age;
    };
    
    typedef struct Person P;
    
    typedef struct Car{
        int lunzi;
        int speed;
    }MYCAR; // 表示把结构体起个别名 MYCAR
    
    MYCAR car1 = {4, 200};
    
    // 给匿名的结构体起个别名
    typedef struct {
        int screenSize;
        int ram;
    }IPHONE;
    
    // 用新类型定义结构体变量
    IPHONE iphone4 = {4,5};
    
    // 4.给枚举类型起别名
    typedef enum Sex{kSexMan, kSexWomen, kSexYao}ISEX; // ISEX别名
    // WEEKDAY也是别名
    typedef enum {Mon,Tue,Wed,Fri}WEEKDAY;
    
    // 给枚举类型起个别名S;
    typedef enum Sex S;
    
    S s1,s2;
    s1 = kSexYao;
    printf("%d\n", s1);
    
    // 5.给函数指针
    
    // 指向函数的指针
    int (*p)(int, int); // 函数指针
    // 给函数中指针起别名
    typedef int (*FUN)(int, int); // FUN是一个别名
    FUN f1,f2; // f1和f2都是函数指针
    f1 = sum;
    printf("%d\n", f1(61,23));
    
    return 0;
}

 

posted @ 2015-12-26 18:20  Z了个L  阅读(150)  评论(0编辑  收藏  举报