文章预览
本文汇总了50条C语言奇技淫巧,希望能对大家有所帮助。 01. 宏定义用 do{}while(0) 如果定义的宏函数后面有多条语句,使用这样的方式会有问题: #define FUNC() func1(); func2() if ( bRunF ) FUNC (); 展开宏定义后会变成: if ( bRunF ) func1 (); func2 (); 逻辑就不对了。可以用这一的方式解决,非常好用: #define FUNC() do{func1(); func2();}while(0) 02. 数组的初始化 假如给arr的第2~6元素初始化为5,也许你会 int arr [ 10 ] = { 0 , 5 , 5 , 5 , 5 , 5 , 0 , 0 , 0 , 0 }; 现在告诉你C99可以这样: int arr [ 10 ] = {[ 1. .. 5 ] = 5 }; 03. 数组的访问 你想取数组的第6个元素(下标为5),教科书教你这样做: int arr [ 10 ] = { 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 }; int n1 = arr [ 5 ]; int n2 = * ( arr + 5 ); 其实你可以: int arr [ 10 ] = { 0 , 1 , 2 ,
………………………………