A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© a_dream 中级黑马   /  2014-7-24 23:01  /  1444 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

C语言— typedef语法
#include <stdio.h>
/*
typedef 原有数据类型 新的数据类型;
1、别名的基础还可以再起别名
1、基本数据类型
2、结构体
3、枚举
4、指针
5、函数指针

*/
int sum(int num1,int num2)
{
    return  num1 + num2;
}
int minus(int num1,int num2)
{
    return num1 - num2;
}


int average(int num1,int num2)
{
    return  sum(num1, num2) / 2;
}
//给函数指针类型其别名
typedef int (*MethodPointer)(int,int);
int main(int argc, const char * argv[])
{

    MethodPointer minu = minus;
    int result  =  minu(20,10);
    printf("result = %d\n",result);
   
    return 0;
}
void testForPointer()
{
    int a = 10;
   
    typedef int * Int;
   
    Int p;
   
    p = &a;
   
    printf("%d\n",*p);
}
/**
*  给枚举类型起别名
*/
void testForEnum()
{
    //给枚举类型起别名
    //先定义枚举类型,然后再起一个别名
    /*
     enum Sex{
     Man,
     Woman,
     Other
     };
     
     enum Sex m = Man;
     typedef enum Sex Sex1;
     
     Sex1 s = Woman;
     printf("%d\n",s);
     */
    //  定义匿名枚举类的同时,给它起一个别名
    typedef enum {
        Man,
        Woman,
        Other
    } Sex;
   
    Sex m = Man;
   
}
/**
*  给结构体类型起一个别名
*/
void testForStruct()
{
    // 先定义结构体,然后再给结构体起一个别名
    struct Person{
        int age;
        char *name;
    };
   
    struct Person p = {10,"xiaoming"};
   
    typedef struct Person PersonType;
   
    PersonType pp = {20,"xiaoma"};
    printf("age = %d,name = %s\n",pp.age,pp.name);
   
    //定义结构体类型的同时,给它起一个别名
   
    typedef struct _Point{
        int x;
        int y;
    } Point;
   
    Point point = {1,1};
    //定义匿名的结构体类型的同时,起一个别名
   
    typedef struct{
        int width;
        int height;
    } Size;
    Size size = {4,6};   
}
//给基本数据类型起别名
void test()
{
    typedef int  Integer;
   
    Integer num = 10;
    printf("%d\n",num);
   
    typedef Integer Int;
   
    Int n = 20;
    printf("%d\n",n);
   
}

5 个回复

倒序浏览
这东西不是应该发到博客吗
回复 使用道具 举报
知识点总结
回复 使用道具 举报
发到这。是什么个情况?日记吗??
回复 使用道具 举报
讲的很有深度
回复 使用道具 举报

还有更好更多的总结啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马