zoukankan      html  css  js  c++  java
  • C学习笔记-typedef

    typedef是一种高级数据特性,它能使某一类型创建自己的名字

    typedef unsigned char BYTE;
    typedef struct man MAN;
    
    BYTE b = 0x12;
    
    1. #define不同,typedef仅限于数据类型,而不是能是表达式或具体的值
    2. typedef是编译器处理的,而不是预编译指令
    3. typedef#define更灵活

    直接看typedef好像没什么用处,使用BYTE定义一个unsigned char。使用typedef可以增加程序的可移植性

    通过typedef定义函数指针
    函数原型及调用

    const char *getsubstr(const char *src, const char *str)
    {
    	return strstr(src, str);
    }
    const char *func(const char *(*s)(const char *, const char *), const char *src, const char *str)
    

    使用typedef以后的函数调用

    const char *getsubstr(const char *src, const char *str)
    {
    	return strstr(src, str);
    }
    typedef const char *(*SUBSTR)(const char *, const char *);
    const char *func(SUBSTR p, const char *src, const char *str);
    

    在程序当中如果是定义一个可读的常量,适合用#define
    如果定义的是一个具体的数据类型,那么typedef更加适合。
    如果是定义一个函数指针,那么基本就typedef

  • 相关阅读:
    css 基础
    css 基础-1
    html 入门2-表
    CMDB (后台管理) CURD 插件
    序列化
    AES(高级加密)
    API验证
    数据库取时间(分组)
    用户权限 (知识点)
    xss 过滤
  • 原文地址:https://www.cnblogs.com/cj5785/p/10664785.html
Copyright © 2011-2022 走看看