C语言-关键字const和static

 

目录

一、const的使用

       1.const修饰局部变量

       2.const修饰全局变量

       3.修饰全局变量和局部变量的区别

二、static

1.static修饰全局变量

2.static修饰局部变量

一、const

1.const修饰局部变量

例:const修饰普通变量和指针变量含义

//创建一个变量a,修改a的值可以通过两种方式

//1.直接赋值 2.通过指针进行赋值

const int a = 2;//变量a不能通过第一种方式修改,但可以通过第二种方式修改

int* p = &a;

*p = 3;

//

int a = 2;

const int* p = &a;//变量a不能通过第二种方式修改,但可以通过第一种方式修改

a = 3;

//

const int a = 2;//变量a不能通过直接赋值修改

const int* p = &a;//变量a不能通过指针修改,而不是指指针p不能修改

 

2.const修饰全局变量

const修饰全局变量两种方式都不可修改

3.修饰全局变量和局部变量的区别

const修饰的全局变量存在全局区

const修饰的局部变量存在栈区

二、static

1.static修饰局部变量

static修饰局部变量改变局部变量的存储位置,存入全局区,不会被销毁

void test()
{
     static int a=1;
     a++;
}

int main()
{
    for(int i=0;i<10;i++)
    {
      void test();
    }
    return 0;
}

static修饰的局部变量a出函数不会销毁,所以循环后a的值为11

不用static修饰局部变量a出函数会销毁,所以循环后a的值为2

2.static修饰全局变量

static修饰的全局变量只在所在的源文件中可以被使用

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: staticconst都是C语言关键字,但它们的作用不同。 static用于修饰变量或函数,表示它们具有静态存储方式,即在程序运行期间一直存在,不会随着函数的调用或变量的使用而被销毁。对于静态变量,它们的值在程序运行期间只会被初始化一次,而对于静态函数,它们只能在本文件被调用。 const用于修饰变量,表示该变量的值在程序运行期间不可改变。一旦被初始化,就不能再被修改。const常用于定义常量,以提高程序的可读性和可维护性。 因此,staticconst的作用不同,但它们都可以提高程序的性能和可靠性。 ### 回答2: C语言staticconst这两个关键字是程序常见的两个关键字,它们分别代表的是静态和常量,具有不同的作用和用途。下面我将就它们的区别做一些详细的介绍: 1. staticstatic关键字C语言表示静态,它可以用来修饰全局变量和局部变量。如果static修饰全局变量,则该变量的作用域仅限于当前文件,不会对其他文件造成影响,如果在不同的文件定义了具有相同名称的static变量,则它们并不会互相影响;如果static修饰局部变量,则该变量仅能在该函数内部使用,无法在函数外部被访问。使用static变量的好处是可以减少全局变量的使用,避免命名冲突,也有助于提高程序的性能。 2. constconst关键字C语言表示常量,即该变量的值在程序运行过程不可修改。const关键字可以用来声明常量,例如: const int MAX_VALUE = 100; const关键字可以修饰指针,表示指针指向的变量是常量,例如: const int* p = &i; 表示指针p指向的变量是一个常量。 在使用const关键字时要注意的是,使用const修饰的变量在定义时即要进行初始化赋值,否则会出现编译错误。另外,const关键字也可以用来修饰函数参数,表示该参数是一个常量,函数体内不能修改该参数的值。 3. staticconst的区别: static表示静态,用于修饰变量或函数,可以限制变量或函数的作用域和可见性,在程序运行期间只分配一次内存,有助于提高程序的性能。 const表示常量,用于修饰变量或函数参数,表示该变量或函数参数的值在程序运行期间不可修改。 staticconst两个关键字的区别在于它们的作用不一样,一个是限制变量或函数的作用域和可见性,一个是限制变量的可修改性,但它们都有助于提高程序的性能。 ### 回答3: 在C语言staticconst都是重要的关键字,它们会影响到变量或函数的作用域,以及是否可以更改它们的值。 static关键字用于定义一个局部变量或函数,指示它们只能在定义它们的文件使用,不能在其他文件使用。这可以有效地避免命名冲突和符号重复定义问题。static变量还可以被初始化,但只有在程序运行的第一次执行期间才会分配存储空间,之后就一直存在于内存,直到程序结束。同时,static函数只能被本文件内部的其他函数调用,而无法被其他文件调用。 const关键字用于定义常量,也就是一旦初始化后其值不能再被更改的变量。const变量在程序发挥了很重要的作用,它可以防止意外地更改数据、增加代码的可读性,并可以帮助编译器进行代码优化。const声明的变量在链接时也会被视为是只读的,因此不会被误修改。const声明的常量可以使用文字或表达式初始化,并且一般是用大写字母来命名,以便与普通变量区分。 总之,static用于限制变量或函数的作用域,而const用于定义常量并避免数据被更改。两者都是C语言非常重要的关键字,程序员在使用它们时需要注意它们的具体用处及其影响。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值