黑马程序员技术交流社区

标题: C语言— typedef语法 [打印本页]

作者: a_dream    时间: 2014-7-24 23:01
标题: C语言— typedef语法
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);
   
}

作者: 天蚕飞    时间: 2014-7-25 12:43
这东西不是应该发到博客吗
作者: 黄莉萍    时间: 2014-7-25 14:19
知识点总结
作者: ヅ光着脚丫dε尐    时间: 2014-7-25 14:22
发到这。是什么个情况?日记吗??
作者: 枫·殇    时间: 2014-7-26 09:57
讲的很有深度
作者: a_dream    时间: 2014-7-26 21:17
枫·殇 发表于 2014-7-26 09:57
讲的很有深度

还有更好更多的总结啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2