||是逻辑符号或。
\是连接符,不是换行,define需要定义都在同一行,而同一行写不下就可以用""表示连接在同一行里。
示例:
#define IS_USART_ALL_PERIPH(PERIPH) (((PERIPH) == USART1) || \
((PERIPH) == USART2) || \
((PERIPH) == USART3) || \
((PERIPH) == UART4) || \
((PERIPH) == UART5))
#define IS_USART_123_PERIPH(PERIPH) (((PERIPH) == USART1) || \
((PERIPH) == USART2) || \
((PERIPH) == USART3))
#define IS_USART_1234_PERIPH(PERIPH) (((PERIPH) == USART1) || \
((PERIPH) == USART2) || \
((PERIPH) == USART3) || \
((PERIPH) == UART4))
“\” 用于连接通常有两个方面:
①:在典型情况下用于转义连续多行的宏定义。(如上)
②:在逻辑上把下一行当作当前行的延续,它可以用于连接长字符串。(如下)
char a[] = "Hi! How are you? I am \
fine, thank you!";
注意: 在 \
后面不能有其他字符,空格也不行!
参考百度知道:来自桃花江助人为乐的银柳