一些初期笔记

0.C语言编译的步骤(Linux下):

  ①预处理:展开头文件,或添加或替换#开头的语句中的内容,会生成一个后缀名为.i的文件。(展开头文件)

  ②编译:将后缀名.i的文件翻译成汇编语言,生成一个后缀名.s的文件。(生成汇编代码)

  ③汇编:将.s的文件翻译成2进制码,生成一个.o后缀名的文件。(生成目标代码)

  ④链接:生成一个后缀名.elf的可执行文件。(链接库)

1.extern关键字修饰一个变量时,只声明变量,不为该变量分配内存,因为内存中没有这个变量所以extern关键字修饰的变量不能在声明是赋值。

2.#开头的语句是预处理语句,无需分号结束,宏定义的数字相当于常量,不允许修改。

3.const关键字修饰的变量为只读变量,即常量,不可以被修改。

4.在if语句中将常量放在左边更好,因为当判断条件的等式少一个‘=’时编译器会报错,这样有利于后期调试。

  eg:如果我们想写的语句是: if(a==4) ,但是我们少写了一个‘=’就会变成 ->

       if(a=4)//①先执行赋值操作②判断a的值是否为真 ,错误很隐蔽,代码量多了很难找到这个错误

    但是如果我们写成: if(4==a) ,当我们少写了一个‘=’就会变成 -> 

     if(4=a)//①先执行赋值操作 ,左值为常量编译不过,能有效避免这类错误发生。

5.switch函数只能用于int和char,if();else if()语句可以判断int,char,double,字符串类型的变量。

6.sizeof()函数测的是一个数据类型的长度,不会因为结束符提前结束。

7.return用于结束一个函数,当在一个函数中调用return时这个函数会直接结束,如果实在main()函数中调用return则程序结束。

  exit用于结束整个程序,不论是在程序哪个地方调用,只要调用则整个程序结束。

猜你喜欢

转载自www.cnblogs.com/haystack/p/12629386.html