关键字的作用及区别汇总

本文详细探讨了C/C++编程中的几个关键关键字,包括static、const、枚举、typedef等,阐述了它们的作用、区别及其在不同场景下的应用。同时,文章还比较了全局变量与局部变量、宏定义与const定义、内联函数与普通函数等概念,旨在帮助开发者更好地理解和运用这些编程基础元素。
摘要由CSDN通过智能技术生成

static关键字

static关键字具有隐藏式、记忆、延长生命周期的作用。

在C语言中,static既可以修饰变量,也可以修饰函数。

1)        修饰的变量保存在静态数据区,静态变量默认初始化为0,只初始化一次。

2)        修饰局部变量,延长变量的生命周期,直到程序运行结束,下一次运行依据是上一次的运行结果,体现其记忆功能。

3)        修饰全局变量,只在本文件可见,其他文件隐藏。

4)        修饰函数,只在本文件中调用,其他文件不可调用。

在C++中,static既可以修饰成员变量,也可以修饰成员函数。

1)        修饰的成员变量保存在全局数据区,被所有对象共享,在没有实例时就可以使用它,必须对它进行初始化且只能在类外进行初始化,只有整型静态常量才可以在类外进行初始化。static修饰的成员变量能被所有类方法访问,值可以改变;当被protected或者private修饰时,不能被类外访问。

2)        修饰的成员函数属于类,被所有对象共享,无this指针。只能访问静态成员,调用其他静态成员方法;不能访问非静态成员,调用非静态成员方法。

静态变量与全局变量的区别

1)        静态变量具有局部稳健域,全局变量具有全局作用域

2)        静态局部变量只对定义它的函数体可见,静态全局变量和全局变量对整个文件可见

3)        静态全局变量对本文件可见,对其他文件不可见,全局变量对所有文件可见

4)        静态局部变量之初始化一次,静态全局变量每次调用都会初始化。

全局变量与局部变量的区别

1)        局部变量存储在栈区,全局变量存储在静态全局区

2)        局部变量的生命期随局部函数的结束而结束,全局变量的生命期随主程序的结束而结束

3)        局部变量对定义它的函数内有效,静态局部变量对本文件有效;全局变量在整个工程文件夹内都有效,静态全局变量对本文件有效。

4)        局部变量的初始值为随机值,全局变量的默认初始值为0

5)        在C语言中,全局变量和静态变量是在编译阶段进行分配内存和初始化的,局部变量是在编译阶段进行分配内存,在运行时进行初始化的。

 

const关键字

const关键字在一定程度上可以提高程序的安全性和可靠性。

C语言中,const可以修饰普通变量,指针,函数形参,函数返回值。

1)        修饰普通变量时,该变量为只读变量,不能通过变量名修改变量的值,但可以通过地址修改;

2)        修饰指针时,const在*左边,用于修饰指针指向的变量,即指针指向的是常量,不能通过指针改变变量的值;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值