typedef #define 理解

 

typedef 类型再定义

基本句法 typedef   OriginalType  NewType

作用

        1 定义原来类型别名 使得代码阅读性提高   例如 typedef  unsigedint  sizt_t 

        2程序移植性更好。加入16机器上int 占用 2个字节 32位上int 4个字节      typedef   int /long   Integer

typedef 特殊语法

         1 结构体

typedef struct stName
{
   Attributes;
} AnotherName; 
AnotherName st1;
struct stName
{
Attributes;
};
stName  st1;

       2定义数组

                     typedef int Array[10];
                      Aarray a,b,c = int a[10],int b[10]

     3定义函数指针
       typedef void (*fpAdd)(int,int)
       定义 void Add(int num1,int num2);

#define  宏定义

宏定义 标识符表示字符串(常数 表达式)
1 无参数的宏
#define symbol  xxxxx     #difine PI 3.14  #define EXP (x*x + y*y)
2 有参数的宏
#define EXP(x) (x*x + 2)
#define MAX(x,y) (x>y ? x:y)
3 宏定义中特殊字符  # ##  \
#表示置换成字符串
#define  ID  #12345

   #define p(exp) printf(#exp);
##表示字符串连接
#define CAT(x,y)  x##y

  3. #@:将值序列变为一个字符

          #define ch(c) #@c

       调用ch(a)展开后成为'a'.


\表示换行没有空格

你可能感兴趣的:(typedef #define 理解)