语法陷阱

来源:互联网 发布:百度云盘老版本mac 编辑:程序博客网 时间:2024/05/03 02:48

要理解一个C程序,仅仅理解组成该程序的符号是不够的,程序员还必须理解这些符号是如何组合成声明、表达式、语句和程序的。虽然这些组合方式的定义都很完备,几乎无懈可击,但有时这些定义与人们的直觉相悖,或者容易引起混淆。

 1、理解函数声明      关于(*(void(*)())0)();

2、运算符优行级问题

3、注意作为语句结束标志的分号     

 struct logrec{                 

                 int date;                 

                 int time;                

                 int code;    

   }                 //省略分号,故表示main函数的返回值为结构类型     

   main() {     

       ...      //主函数不写return,返回的是随机值,而且main()中return只会返回一个整数值。  

     }            

  windows : cmd中用echo %errorlevel% 查看某一exe文件的main函数的返回结果。  

4、switch语句

5、函数调用:funname();

6、“悬挂”else引发的问题:if和else的配对  

习题1:C语言允许初始化列表中出现多余的逗号,int a[]={1,2,3,}; sizeof(a)==12;(VC)

                允许这样,主要是为了代码产生器的方便。      

原创粉丝点击