标签:har 语言 编译器 std 意义 变量 class 自动 必须
我们来看一个案例:
1 #in 2 clud 3 e <st 4 dio.h> 5 6 in 7 t m 8 ain( 9 ) 10 { 11 pri12 ntf13 (14 "Hello bupi\n" 15 )16 ; 17 18 ret19 urn 0; 20 }
你一眼看过去可能会认为这个不像C语言的代码,但是他的确是的,只是大量使用了接续符,在现实中不用这样使用接续符,这只是一个例子。
有人或许会问,这样一段简单的程序使用接续符就变得这样的混乱,那我们还有必要去了解接续符吗?答案是要了解
1 #include <stdio.h> 2 3 #define SWAP(a,b) { int temp = a; a = b; b = temp; } 4 5 int main() 6 { 7 int a = 1; 8 int b = 2; 9 int c = 3; 10 11 SWAP(a,b); 12 13 printf("a = %d, b = %d\n", a, b); 14 15 SWAP(b,c); 16 17 printf("b = %d, c = %d\n", b, c); 18 19 return 0; 20 }
第三行是一个宏代码块,就是交换两个变量值,但是代码这样挤在一行,可读性并不好。
1 #include <stdio.h> 2 3 #define SWAP(a,b) 4 { 5 int temp = a; 6 a = b; 7 b = temp; 8 } 9 10 int main() 11 { 12 int a = 1; 13 int b = 2; 14 int c = 3; 15 16 SWAP(a,b); 17 18 printf("a = %d, b = %d\n", a, b); 19 20 SWAP(b,c); 21 22 printf("b = %d, c = %d\n", b, c); 23 24 return 0; 25 }
使用接续符改进后的宏代码块可读性大大增加了。
转移符的使用:当反斜杠 (\) 作为转移符使用时必须出现在单引号或者双引号之间
案例:
1 #include <stdio.h> 2 3 int main() 4 { 5 char enter = ‘\n‘; 6 7 char* p = "\141\t\x62"; 8 9 printf("%s", p); 10 printf("%c", enter); 11 12 return 0; 13 }
标签:har 语言 编译器 std 意义 变量 class 自动 必须
原文地址:https://www.cnblogs.com/luojianyi/p/9403453.html