1. c++的存储类别
  2. 首先我们得知道c++的变量存储方式:静态存储和动态存储两种,全局变量使用的是静态存储,函数的形参和局部变量是使用的动态存储。
  3. 当然在有的教程中又分为自动存储,静态存储,动态存储。相信所有朋友都知道内存四区的概念,这个所说的静态存储就是存储在我们所说的数据区中,自动存储就是说存储在栈中的变量,而动态存储就是说在堆区的变量。
  4. 而第二行的叫法就是把自动存储并入了动态存储(当然真正的程序的运行时的内存机制远远不是这么简单,得去学习操作系统,内核编程等很多知识才能搞清楚,在这里就不叙述了,主要是不会,半桶水,嘿嘿)
  5. 下面我们来看下函数中可以声明或者定义的4中类型的变量auto,static,register,extern

auto举个例子

 #include<iostream>
 using namespace std;
 int sum()
 {
     auto ;          //相当于int x=0;我们平时使用的时候auto是默认,可以不写
     return x;
 }
 int main()
 {
       int x=sum();          //这里相当于auto int x=sum();  auto可以写也而已不写
       system("pause");
       ;
 }

7.是不是复制粘贴进你的vs有错误,(类型说明符的组合无效),嘿嘿,当然有错了,这是因为auto的语意发生了改变,新版的c++auto的意思是自动类型推倒,如果你非得让上面的例子成功的话,那么可以去百度,应该怎么设置vs。

static用这个关键字声明的变量是在静态区,

#include<iostream>
using namespace std;
int sum(int x)
{
    ;//y会一直保存在程序中,是静态存储,并且只会进行一次初始化
    y = y + x;
    return y;
}
int main()
{
    cout << sum() << endl;
        cout << sum() << endl;
    system("pause");
    ;
}

8.register用这个关键字声明的变量,是存储在寄存器中,访问速度非常快,因此一般用于循环时候要多次用到的变量,由于电脑中寄存器并不多,因此register声明的变量个数不能多

代码就不写了,同上

#include<iostream>
using namespace std;
int sum()
{
    register ;//寄存器变量
   )
           y++;
    return y;
}
int main()
{
    cout << sum() << endl;
        cout << sum() << endl;
    system("pause");
    ;
}

9.extern 声明的变量是外部变量,什么意思呢,比如a.cpp中有个变量int c=0;在b.cpp中想用它怎么办呢,extern int c;就ok了,当然a.cpp和b.cpp得是同一个项目

c++ 变量的存储类别的更多相关文章

  1. C++变量的存储类别与作用域

    总结一下C++中变量的存储类别以及变量的作用域. (1)标示符的存储类别决定了标示符在内存中存在的时间(我们可以理解标示符就是确定一个变量的符号,也就是我们所说的变量名) 二:存储类别 (1)静态存储 ...

  2. c语言 变量的存储类别以及对应的内存分配?

    <h4><strong>1.变量的存储类别</strong></h4>从变量值存在的角度来分,可以分为静态存储方式和动态存储方式.所谓静态存储方式指在程 ...

  3. C语言变量的存储类别

    我们知道,从变量的作用域(即从空间)角度来分,可以分为全局变量和局部变量. 从另一个角度,从变量值存在的作时间(即生存期)角度来分,可以分为静态存储方式和动态存储方式. 静态存储方式:是指在程序运行期 ...

  4. [C++程序设计]变量的存储类别

    全局变量全部存放在静态存储区中,在程序开始执行时给全局变量分配存储单元,程序执行完毕就释放这些空间.在程序执行过程中它们占据固定的存储单元,而不是动态地进行分配和释放. 在动态存储区中存放以下数据: ...

  5. C++变量存储类别和内存四区

    变量存储类别 变量声明/定义的一般形式: 存储类别 数据类型 变量名 存储类别指的是数据在内存中存储的方法.存储方法分为静态存储和动态存储两大类.标准C语言为变量.常量和函数定义了4种存储类型:ext ...

  6. C++变量作用域、生存期、存储类别

    写C.C++代码的小伙伴一定在头疼变量的作用域.生存期.存储类别问题.什么静态.外部.寄存器.局部.全局搞得一头雾水.今天咱们就来梳理一下他们的变态关系(什么不得了的事情???) 1.变量的作用域 说 ...

  7. C语言杂谈(三)存储类别

    本文讨论C语言中的存储类别,包括数据在内存的存储.变量的存储类别.函数的存储类别.生存周期.下图为计算机的存储空间,有寄存器和内存. 一.存储区域 1.寄存器:存放立即参加运算的数据. 2.系统区:存 ...

  8. c 变量的存储类型auto等(基础知识)和c函数变量

    总结 1).在c语言中每一个变量和函数有两个属性:数据类型和数据的存储类别. 2). 对数据型(如整型.字符型等).存储类别指的是数据在内存中存储的方式. 存储方式分为两大类: 静态存储类和动态存储类 ...

  9. C语言变量、函数的作用域及变量的存储方式

    一.变量的作用域和存储方式 在C语言中每个变量都有两种基本属性:数据类型.数据的存储类别. 数据类型很多人都已熟知,例如:字符型(char).整型(int).浮点型(float)等等.存储类别是指数据 ...

随机推荐

  1. AngularJS1.X学习笔记8-自定义指令(上)

    AngulaJS的指令是一种非常强大的特性,一个ng-repeat就能让我们非常方便的展示一个数据列表,指令相当于是一个组件,为我们将一些东西封装起来了,提供了复用的可能性.个人认为自定义指令还是比较 ...

  2. 算法题丨4Sum

    描述 Given an array S of n integers, are there elements a, b, c, and d in S such that a + b + c + d = ...

  3. Leetcode:Two Sum

    原题:https://leetcode.com/problems/two-sum/ 尝试了两种方法: 方法一: var twoSum = function(nums, target) { for(va ...

  4. Linux知识积累 (9) 创建用户、分配权限和更改所有者

    一.useradd和adduser 1.useradd命令: 用于Linux中创建的新的系统用户. useradd可用来建立用户帐号.帐号建好之后,再用passwd设定帐号的密码. 而可用userde ...

  5. Python基础学习篇章四

    一. Python数据类型之字典 1. 键的排序:for循环 由于字典不是序列,因此没有可靠的从左至右的顺序.这就导致当建立一个字典,将它打印出来,它的键也许会以与我们输入时的不同的顺序出现.有时候我 ...

  6. 京东2019春招Java工程师编程题题解

    生成回文串 题目描述 对于一个字符串,从前开始读和从后开始读是一样的,我们就称这个字符串是回文串. 例如"ABCBA","AA","A"是回 ...

  7. Spark-1.X编译构建及配置安装

    前提条件(环境要求) jdk版本:1.7+ scala版本:1.10.4+ maven版本:3.3.3+ 本博客中使用的软件版本 spark版本:spark-1.6.1.tar.gz(源码) jdk版 ...

  8. 【原生js实现一键回到顶部】

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  9. python、java实现二叉树,细说二叉树添加节点、深度优先(先序、中序、后续)遍历 、广度优先 遍历算法

    数据结构可以说是编程的内功心法,掌握好数据结构真的非常重要.目前基本上流行的数据结构都是c和c++版本的,我最近在学习python,尝试着用python实现了二叉树的基本操作.写下一篇博文,总结一下, ...

  10. python 报障系统(完)

    python 报障系统(完) 一.报障系统原理: 原理: 1. 简单管理 2. 角色多管理(权限) a. 登录 session放置用户信息(检测是否已经登录) session放置权限信息(检测是否有权 ...