关于C语言——对一个数据定义的两种属性

对一个数据的定义,需要去定义它的两种属性:数据类型和存储类型。

对于数据类型主要有:

  • int
  • char
  • long
  • float
  • double

对于存储类型有这四种:

  • auto

  • static

  • register

  • extern


平时使用的时候一般不标明存储类型,而存储类型主动是为auto,自动变量,在函数内去定义。

如果定义一个数据它为静态局部或外部整形变量那就是:

static int a;


变量分为局部变量和全局变量

按作用域角度来分

从++局部变量++中采用的存储类别来说有三种:

  1. 自动变量,也就是动态局部变量(auto)
  2. 静态局部变量(static)
  3. 寄存器变量(register)

从++全局变量++中采用的存储类别来说分为两种。

  1. 静态外部变量(static)
  2. 外部变量,非静态的(extern)

按变量的生存周期来分

从**++动态存储++**中采用的存储类别来说有三种:

  1. 自动变量(auto)
  2. 寄存器变量(register)
  3. 形式变量

从**++静态存储++**中采用的存储类别来说分为三种。

  1. 静态外部变量(static)
  2. 静态局部变量(static)
  3. 外部变量(extern)

从变量存储的位置来分

从++局部变量++中采用的存储类别来说有三种:

  1. 静态局部变量(static)
  2. 静态外部变量(static)
  3. 外部变量(extern)

++从内存中动态存储区:++

自动变量和形式参数

++从CPU中的寄存器:++

寄存器变量(register)

相关推荐
YLXA3 小时前
1.helle_cuda学习
linux·学习·算法
Storynone3 小时前
【Day21】LeetCode:93. 复原IP地址,78. 子集,90. 子集 II
python·算法·leetcode
qq_406176143 小时前
详解Vue中的计算属性(computed)和观察属性(watch)
开发语言·前端·javascript·vue.js·前端框架
小付同学呀3 小时前
C语言学习(九)——C判断三元运算符
c语言·开发语言·学习
ab1515173 小时前
3.14二刷基础93 94 83 98 99 完成进阶40 43
算法
nananaij3 小时前
【LeetCode-01 两数之和 python解法】
开发语言·python·算法·leetcode
crescent_悦3 小时前
PTA C++:正整数A+B
数据结构·c++·算法
丶小鱼丶3 小时前
数据结构和算法之【链表】
java·数据结构·算法
一直都在5723 小时前
新Java基础(二十五):异常类
java·开发语言
礼拜天没时间.3 小时前
力扣热题100实战 | 第31期:下一个排列——数组规律的极致探索
java·算法·leetcode·字典序·原地算法·力扣热题100