zoukankan      html  css  js  c++  java
  • typedef的作用

    1. 用来定义类型的;用来定义别名的;有作用域限制;
    2. typedef int MyInt;意思就是给int类型起了一个别名MyInt;
    3. typedef char * String;String name = “jack”;name 就是指针类型;
    4. 给指针类型char *起一个新的类型名称String
    5. 给结构体起别名;typedef struct Student MyStu;也可以写成:
    6. typedef struct Student{int age;}myStu;
    7. 也可以是:typedef struct {int age;}myStu;在里面Student的作用很小;好处是省略了名称;
    8. 给枚举类型定义别名;typedef enum Sex{Man,Woman}MySex;
    9. int (*p) (int,int) = sum;
    10. int(*p)(int,int ) = minius;对指向函数的指针定义别名;
    11. typedef int(*MyPoint)(int,int);这是类型;
    12. MyPoint p = sum;其中p是变量;
    13. typedef struct Person * PersonPoint;
    14. struct Person p = {20};
    15. PersonPoint p2 =&p;
    16. typedef struct Person{int age;}* PersonPoint;
    17. typedef给存在的类型起一个名称;使用场合:基本数据类型;指针;结构体;枚举;指向函数的指针;
    18. .

    typedef 注意点:宏定义和include等预处理指令不需要分号;

    1. 使用宏定义起一个别名;#define Integer int把代码中的Integer换成int;
    2. #define String2 char *这句下面对应的结果是:
    3. String2 s3,s4;相当于char *s3,s4;也相当于char *s3,char s4;
    4. 但是以下这种写法是不一样,要区分;
    5. typedef char * String;
    6. String s1,s2;相当于s1 =“jack”;s2=“rose”;既是char *s1;char *s2;
  • 相关阅读:
    java中的subList
    值传递和引用传递
    java程序中有异常处理和没有异常处理的区别
    正则表达式
    poj 3187 三角数问题
    poj 2718 切数问题 穷竭搜索
    ACM 广度优化搜索算法总结
    poj 3669 火星撞地球问题 bfs算法
    poj 2251 三维地图最短路径问题 bfs算法
    ACM 深度优化搜索算法小总结
  • 原文地址:https://www.cnblogs.com/williamliuwen/p/5367562.html
Copyright © 2011-2022 走看看