• auto  

    eg:aoto int a;

     默认情况--------->分配的内存可读可写的区域。

  • register

    eg:register int a;

    限制变量定义在寄存器上的修饰符

    定义一些快速访问的变量。

    编译器会尽量安排CPU的寄存器去存放这个a,如果寄存器不足时,a仍存放在存储器中,

    "&"该符号对register不起作用(可能不在内存上)。

  • static

    静态

    ①局部变量

    int fun(){

      int a;  ====>static int a;

    }

默认局部变量在栈空间存在,生存周期比较短(函数返回结束),

局部静态化,局部变量在静态数据段保存,程序结束时才返回,函数返回时仍存在,生存周期非常长。

    ②全局变量

    int a;  ====>static inta;

    int fun(){

    

    }

防止重命名。 限制变量名只在本文件内起作用。

    ③全局函数

    int fun();  ====>static int fun();  

防止重命名。 限制该函数只在本文件内起作用。

  • const

    只读的变量,不是常量。

  • extern

    外部变量

  • volatie

    告知编译器编译方法的关键字,不优化编译。

    修饰变量的 值得修改,不仅仅可以通过软件,也可以通过其他方式(第三方,如硬件外部的用户等)。

Linux学习---类型修饰符的更多相关文章

  1. c语言类型修饰符及内存

    今天来学习一下c语言类型修饰符及内存分布 1.auto int a; 默认在内存 2.register int a; 限制变量定义在寄存器上的修饰符 编译器会尽量安排CPU的寄存器去存放这个a,如果寄 ...

  2. JAVA类型修饰符(public,protected,private,friendly)

    JAVA类型修饰符(public,protected,private,friendly) public的类.类属变量及方法.包内及包外的不论什么类均能够訪问:protected的类.类属变量及方法,包 ...

  3. [面试]volatile类型修饰符/内存屏障/处理器缓存

    volatile类型修饰符 本篇文章的目的是为了自己梳理面试知识点, 在这里做一下笔记. 绝大部分内容是基于这些文章的内容进行了copy+整理: 1. http://www.infoq.com/cn/ ...

  4. volatile 类型修饰符

    volatile 类型修饰符 1.解释 就像大家更熟悉的const一样,volatile是一个类型修饰符(type specifier).它是被设计用来修饰被不同线程访问和修改的变量.如果不加入vol ...

  5. C++变量内存分配及类型修饰符

    前言 了解C++程序内存分配,有助于深刻理解变量的初始化值以及其生存周期.另外,变量类型修饰符也会影响到变量的初始化值及其生存周期.掌握了不同类型变量的初始化值及其生存周期,能够让我们设计程序时定义变 ...

  6. C++11常用特性介绍——auto类型修饰符

    1.C++11常用特性介绍 从本篇开始介绍C++11常用特性,大致分:关键字及新语法.STL容器.多线程.智能指针内存管理,最后讲一下std::bind和std::function 二.关键字和新语法 ...

  7. C#学习笔记---修饰符,this关键字和static关键字

    1.  C#中类的修饰符: public 表示不限制对该类的访问  protected 表示只能从所在类和所在类派生的子类进行访问    private 只有其所在类才能访问 internal 只有对 ...

  8. 学习C#修饰符:类修饰符和成员修饰符

    C#修饰符之类修饰符:public.internal. partial.abstract.sealed.static C#修饰符之成员修饰符:public.protected.private.inte ...

  9. Vue--事件处理(逐个学习事件修饰符)

    .capture .self .once 主要学习这三个事件修饰符的用法先来看看capture capture即是给元素添加一个监听器,当元素发生冒泡时,先触发带有该修饰符的元素.若有多个该修饰符,则 ...

随机推荐

  1. 2.数据库的基本操作<针对于库层面的操作>

    1.查看已有数据库: MySQL [(none)]> show databases; +--------------------+ | Database | +----------------- ...

  2. 同步pod时区与node主机保持一致

    一.通过环境变量设置 apiVersion: v1 kind: Pod metadata: name: pod-env-tz spec: containers: - name: ngx image: ...

  3. chrome调试vue.js的插件:vue.js devtools

    1.什么是vue.js devtools? vue.js devtools是chrome的一款插件,用来调试vue的一款神器. 2.为什么下载vue.js devtools? 由于vue是数据驱动的, ...

  4. case ··· when ··· then ····的使用,同一字段不同内容分组显示

    问题: 查询结果显示成--> sql: SELECT 姓名, SUM(CASE WHEN (课程 = '语文') THEN 分数 ELSE 0 END) AS 语文, SUM(CASE WHEN ...

  5. Blender软件基本介绍(3D建模软件)

    1.Blender的好处: 1>.开源免费 2>.体积比较小 3>.和Unity的交互比较好(一般建模软件需要导出FBX的文件,然后用到Unity中,而Blender不需要导出,只需 ...

  6. Redhat系统上开启Telnet服务

    https://blog.csdn.net/wolfofsiberian/article/details/51635952 1.操作系统 Redhat Step1:修改配置文件/etc/xinetd. ...

  7. event.keyCode用法及列表

    HTML 用户名:<input type="text" id="UserAccount" onKeyPress="JumpByEnter(Use ...

  8. linux下mycat自启动方法

    每次开机都要启动mycat,网上看了好多都是用shell脚本来实现mycat开机自启动,后来看到一种方法,直接修改系统文件来实现,已经实践过,方法有效. 1.修改脚本文件rc.local:vim /e ...

  9. workerman与thinkphp结合

    运行workerman需要安装pcntl和event或者libevent pcntl安装方法: 以php-5.5.20为例,实际情况按自己安装的PHP目录 一. 找到PHP源码,进入 php-5.5. ...

  10. CMake support in Visual Studio

    Visual Studio 2017 introduces built-in support for handling CMake projects. This makes it a lot simp ...