1. int main(int argc, char ** argv)函数中,参数argc和argv分别代表什么意思?⭐⭐⭐⭐

  2. 结构体和共用体的区别⭐⭐⭐⭐

  3. 简述C++有几种传值方式,之间的区别是什么?⭐⭐⭐⭐

  4. 全局变量和局部变量的区别⭐⭐⭐⭐

  5. 请说说原码、反码、补码⭐⭐⭐⭐

  6. 说说数组和指针的区别⭐⭐⭐⭐⭐

  7. 数组指针与指针数组的区别⭐⭐⭐⭐⭐

  8. 指针函数与函数指针的区别⭐⭐⭐⭐⭐

  9. 请说说内存分布模型⭐⭐⭐⭐⭐

=========================================================================================================

  • 本专栏适合于C/C++已经入门的学生或人士,有一定的编程基础。
  • 本专栏适合于互联网C++软件开发、嵌入式软件求职的学生或人士。
  • 本专栏针对面试题答案进行了优化,尽量做到好记、言简意赅。这才是一份面试题总结的正确打开方式。这样才方便背诵
  • 针对于非科班同学,建议学习本人专刊文章《蒋豆芽的秋招打怪之旅》,该专刊文章对每一个知识点进行了详细解析。
  • 如专栏内容有错漏,欢迎在评论区指出或私聊我更改,一起学习,共同进步。
  • 相信大家都有着高尚的灵魂,请尊重我的知识产权,未经允许严禁各类机构和个人转载、传阅本专栏的内容。

=========================================================================================================

  1. int main(int argc, char ** argv)函数中,参数argc和argv分别代表什么意思?⭐⭐⭐⭐

    第一个参数,int型的argc,为整型,用来统计程序运行时发送给main函数的命令行参数的个数

    第二个参数,char*型的argv[],为字符串数组,用来存放指向字符串的指针元素,每一个指针元素指向一个字符串参数。各成员含义如下:

    • argv[0]指向程序运行的全路径名

    • argv[1]指向在DOS命令行中执行程序名后的第一个字符串

    • argv[2]指向执行程序名后的第二个字符串

      。。。。。。

    • argv[argc-1]指向执行程序名后的最后一个字符串

    • argv[argc]NULL

  2. 结构体和共用体的区别⭐⭐⭐⭐

    1. struct和union都是由多个不同的数据类型成员组成。 struct的所有成员都存在;但在任何同一时刻, union中只存放了一个被选中的成员。
    2. 在不考虑字节对齐的情况下,struct变量的总长度等于所有成员长度之和。Union变量的长度等于最长的成员的长度。
    3. struct的不同成员赋值是互不影响的;而对于union的不同成员赋值, 将会对其它成员重写, 原来成员的值就不存在了。
  1. 简述C++有几种传值方式,之间的区别是什么?⭐⭐⭐⭐

    传参方式有这三种:值传递、引用传递、指针传递

    1. 值传递:形参即使在函数体内值发生变化,也不会影响实参的值;

    2. 引用传递:形参在函数体内值发生变化,会影响实参的值;

    3. 指针传递:在指针指向没有发生改变的前提下,形参在函数体内值发生变化,会影响实参的值;

  2. 全局变量和局部变量的区别⭐⭐⭐⭐

    1. 作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前函数或循环等

    2. 内存存储方式不同:全局变量存储在全局数据区(data)中,局部变量存储在栈区(stack)

    3. 生命期不同:全局变量的生命期和主程序一样,随程序的销毁而销毁,局部变量在函数内部或循环内部,随函数的退出或循环退出就不存在了

    4. 使用方式不同:全局变量在声明后程序的各个部分都可以用到,但是局部变量只能在局部使用。函数内