c语言面试知识点汇总(1)

  1. 整型和长整型的区别

在早期的计算机,16编译器, 整型是16位,长整型是32位的。如今,在C99规定 整型和长整型都是32位。

    2.编译系统的四个步骤: 预处理,编译,汇编,链接

    3.For(;;)和while(1)无限循环的区别

         For和whie在编译后,for()指令少,占内存少,没有判断语句。

         https://blog.csdn.net/baidu_29029173/article/details/51175799

     Loop

     ...

    Goto loop; 也是无限循环

4.     Int a;               //整型数a

        Int *a;             //整型指针a

        Int **a;            //指向指针的指针,a指针返回一个整型

        Int a[10];           //数组a里有10个整型

       Int *a[10];          //数组a里面10个 指针,指针指向整型

       Int (*a)[10];         //指针a指向10个整型数组

       Int*a(int);           //指针a指向函数,函数参数是整型,返回值是整型

       Int (*a[10])(int);      //数组a里面10个 指针,指针指向函数,函数参数是整型,返回值是整型

      思路: 运算符优先级()>[]>*

      具体讲述了数组指针 (*a)[] 和指针数组 *a[10]:

      http://www.cnblogs.com/mq0036/p/3382732.html

5.   Static的作用

       在函数内,一个声明静态的变量,在这个函数被调用时,维持变量不变。

       在模块内声明,不在函数体内声明,可以被模块内的其他函数调用,不能被模块外的函数调用,是本地全局变量

       在模块内声明一个静态函数,只能被模块内的函数调用,模块外不行,本地函数

6.    如何读取const

c语言面试知识点汇总(1)_第1张图片

7.   const的作用

  1. 可以定义const常量量,具有不可变性。
  2. 便于进行类型检查,使编译器对处理内容有更好了解,消除一些隐患。
  3. 可以避免意义模糊的数字出现,同样可以方便进行参数的调整和修改
  4. 可以保护被修饰的东西,防止意外的修改。
  5. 为函数重载提供一个参数。
  6. 可以节省空间,避免不必要的内存分配。
  7. 编译器通常不为普通的const常量分配内存,将他保存在符号表,没有存储和读取的操作,效率变高。

你可能感兴趣的:(c++,limux基础)