typedef和#define的区别?
#define在预处理时进替换,不作正确性检查;
typedef是关键字,在编译时处理,会检查语法错误;
#define没有作用域的限制,只要是之前预定义过的宏,在以后的程序中都可以使用
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef enum
{
LED_1,
LED_2,
LED_3
}LED;
typedef enum
{
LED_ON,
LED_OFF
}LED_CON;
void init(LED N)
{
switch(N)
{
case LED_1:
printf("LED1已完成初始化\n");
break;
case LED_2:
printf("LED2已完成初始化\n");
break;
case LED_3:
printf("LED3已完成初始化\n");
break;
}
}
void con(LED N,LED_CON C)
{
switch(C)
{
case LED_ON:
switch(N)
{
case LED_1:
printf("LED1灯已打开\n");
break;
case LED_2:
printf("LED2灯已打开\n");
break;
case LED_3:
printf("LED3灯已打开\n");
break;
}
break;
case LED_OFF:
switch(N)
{
case LED_1:
printf("LED1灯已关闭\n");
break;
case LED_2:
printf("LED2灯已关闭\n");
break;
case LED_3:
printf("LED3灯已关闭\n");
break;
}
break;
}
}
int main(int argc, const char *argv[])
{
init(LED_1);
con(LED_2,LED_ON);
return 0;
}