1.const:限定符的一种,个人对const的浅显理解就是一直将const限定的对象看作常量较好理解,声明变量和数组时较简单,在这里主要讲讲在指针和形参中使用const,简单来说const放在*左侧,指针指向的数据不能改变,放在右侧,指针指向不能改变。

char y[]="helloworld",x[]="2018";char *const p1=y;//可看作p1的地址被const变为常量,不可再变 char const *p2=y;//可看作将*p2的值都变做常量,p2,p3相同意思const  char *p3=y; const char const *p//指向不可变字符的不可变指针 p1=x;//地址已经是常量,不可在改变指向,错误 p2=x;//指向的字符串为常量,但指针指向并未限定,可变 *p1='x';//指针指向已被限定,当指向的字符串可改变 *p2='x';// 指向的字符串为常量,不可再变,错误

注:const int a[]与const int *a相同,另外,可以把const以及非const数据的地址初始化为指向const的指针或为其赋值,当是不能把const指针赋给普通指针。

int rates[]={1,2,3};
const int rock={4,5,6};
const int *pc=rates;//合法
pc=&rate[1];//合法
pc=rock//合法
int *pnc=rate;//合法
pnc=rock; //错误 

2,static关键字:,这个关键字到目前为止基本没有接触到,百度了才发现作用是相当的多,在这里谈谈目前接触到的用法

static全局变量与static函数作用相似,主要是用来限制被修饰的函数或变量作用域为本文件,外部文件不能调用,目前很少接触,局部变量主要是让一个变量长期有效,保存了前次调用所留下来的值,以便下次调用。

#include<stdio.h>
static int a=2018;//全局变量
static void func(void) //static函数,限制了该函数只能该文件自己利用
{static int b;//局部变量,保持了上一次调用的值 printf("a=%d,b=%d\n",++a,++b);
}
int main()
{func();//2019,1func();//2020,2func();//2021,3return 0;
}

注:这里的a=2019,20,21,跟static没有任何关系,主要是a为全局变量,作用域也包括函数。

C语言---关于关键字const与static的简单理解相关推荐

  1. C语言中关键字const、typedef

    const:const是C语言的一个关键字,是用来定义常量的.const是常属性的意思,当一个变量被const修饰之后,其值不能再被改变了,但它仍然是一个变量,只不过有了常属性. 我们如何才能验证这一 ...

  2. c语言理解参数,c语言中对可变参数列表的简单理解

    函数原型中一般情况下参数的数目是固定的,但是如果想在不同的时候接收不定数目的参数时该怎么办呢?c语言提供了可变参数列表来实现. 可变参数列表是通过宏来实现的,这些宏定义在stdarg.h的头文件中.头 ...

  3. 【C语言】关键字const详解 - 变量守护者

    为什么说const是变量守护者? 首先我们先从字面认识一下const: 作用如其意,const用于修饰变量,将其变为某种意义上的"常量".我们知道,常量是不可以被赋值的,所以被co ...

  4. C语言--结构体与内存对齐准则简单理解

    平时基本不涉及这个问题,被问起才发现没那么简单... 一,结构体:内存中所有类型字节之和 #include<stdio.h> struct icd {int a;char b;double ...

  5. C语言 const、static、volatile等关键字的作用

    目录 前言 const static volatile extern 总结 前言 C语言里面有许多关键字,本文结合我自己的了解简单讲讲几个常用关键字的作用. const 问:const有什么用? 答: ...

  6. c语言static. volatile,嵌入式系统C语言重点语法const、volatile、static、堆栈等的意义及用法...

    原标题:嵌入式系统C语言重点语法const.volatile.static.堆栈等的意义及用法 在单片机应用中,堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场. 要点:堆, ...

  7. C语言再学习 -- 关键字const

    const 关键字其实我们并不陌生,之前有讲过const修饰数组和指针.现在来详细介绍这个关键字. 参看:[C/C++和指针]著名的<const的思考> 一.const 介绍 1.cons ...

  8. c++语言常量,Go语言常量和const关键字

    Go语言中的常量使用关键字 const 定义,用于存储不会改变的数据,常量是在编译时被创建的,即使定义在函数内部也是如此,并且只能是布尔型.数字型(整数型.浮点型和复数)和字符串型.由于编译时的限制, ...

  9. C语言关键字----Const

    C中CONST的使用: 虽然这听起来很简单,但实际上,const的使用也是c语言中一个比较微妙的地方,微妙在何处呢?请看下面几个问题. 问题:const变量 & 常量 为什么下面的例子在使用一 ...

最新文章

  1. Hinton:胶囊网络的专利是我的了!
  2. Node.js in IIS — Hello World
  3. AliSQL 20170716版本发布 Invisible Indexes 功能和 SELECT FROM UPDATE 语法
  4. mysql 实时血备份_windows下设置自动备份 mysql 批处理
  5. input type=submit 和button的区别及表单提交
  6. 最优化学习笔记(四)——最速下降法
  7. 2020年11月“省时查报告”十大热门报告盘点(文末附热门报告列表)
  8. snort简介以及在Ubuntu下的安装
  9. 谷歌在线办公法器-Google Docs
  10. MAC:一个数据缓冲区,作为参数传递到另外一个函数就崩溃
  11. C++:n个清屏函数(缓冲清屏不闪屏)
  12. WPS无法使用复制粘贴快捷键
  13. 北大青鸟python学费_北大青鸟学费贵吗,北大青鸟学费标准_北大青鸟综合校区为您解答...
  14. Python3.7出现RuntimeError: generator raised StopIteration异常
  15. iTop4412 Booting Sequence
  16. 思绪——关于《朝花夕誓——于离别之朝束起约定之花》
  17. go 字符串分割数组
  18. python代替易语言_基于hook的python机器人,彻底取代itchat
  19. 阿龙的学习笔记---3.26---常用的各种树
  20. Jetpack:Lifecycle 和 LiveData

热门文章

  1. 在SSP中查询某个用户Profile信息的SQL语句
  2. ABAP操作Excel(转)
  3. Java实现单例的5种方式
  4. 一款猥琐的PHP后门分析
  5. 关于header(Cache-control: private)
  6. 线程池中线程抛了异常如何处理?
  7. java单元测试面试,Java必备!JUnit面试题和答案汇总
  8. 微服务架构基本介绍与微服务设计模式
  9. java面向对象数组_Java面向对象的构造器与数组对象
  10. 5万能搞定百平家装主材、家具、家电吗?