面试中常见的C语言与C++区别的问题

C和C++的区别

  • C语言是一种结构化语言,其偏重于数据结构和算法,属于过程性语言

  • C++是面向对象的编程语言,其偏重于构造对象模型,并让这个模型能够契合与之对应的问题。其本质区别是解决问题的思想方法不同

  • 虽然在语法上C++完全兼容C语言,但是两者还是有很多不同之处。下面将详细讲解C和C++不同之处的常见考题

程序员必备资源,值得收藏!点击下载

关键字static在C和C++区别

C和C++中都有关键字static关键字,那么static关键字在C和C++中的使用有什么区别?请简述之。

分析问题:在C中,用static修饰的变量或函数,主要用来说明这个变量或函数只能在本文件代码块中访问,而文件外部的代码无权访问。并且static修饰的变量存放在段存储区。主要有以下两种用途。

1. 定义局部静态变量

  • 局部静态变量存储在静态存储区,在程序运行期间都不会释放,只在声明时进行初始化,而且只能初始化一次,如果没有初始化,其自动初始化为0或空字符。具有局部变量的“记忆性”和生存周期“全局性”特点。

  • 局部变量的“记忆性”是指在两次函数调用时,第二次调用开始时,变量能够保持上一次调用结束数的值。如下例:

#include <stdio.h>

/
  • 94
    点赞
  • 305
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 28
    评论
C语言C++语言,关键字static的用法有所不同。 在C语言,static关键字有以下几种用法: 1. 在函数内部使用static修饰局部变量,使得变量的作用域仅限于函数内部,不会被其他函数所访问。同时在程序运行期间,该变量的内存地址是不变的。 2. 在全局变量前面使用static修饰,使得全局变量的作用域仅限于当前文件,不会被其他文件所访问。 3. 使用static修饰函数,使得函数的作用域仅限于当前文件,不会被其他文件所访问。这种函数通常被称为静态函数。 在C++语言,static关键字的用法更加丰富,主要有以下几种用法: 1. 在类内部使用static修饰成员变量或成员函数,使得它们不属于任何一个对象,而是属于整个类。静态成员变量在全局数据区分配内存,静态成员函数没有this指针,只能访问静态成员变量和函数。 2. 在函数内部使用static修饰局部变量,使得变量的生命周期在函数调用结束后不会结束,而是一直存在于程序的静态数据区,下次再次调用该函数时,该变量的值仍然存在。 3. 在全局变量前面使用static修饰,使得全局变量的作用域仅限于当前文件,不会被其他文件所访问。 总的来说,C语言C++语言的static关键字主要用于控制变量或函数的作用域和生命周期。在C++,static还可以用于定义类的静态成员变量和静态成员函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程与实战

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值