关于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)

相关推荐
隐世1几秒前
C++多态讲解
开发语言·c++
矿渣渣1 分钟前
YAFFS2 文件系统的 `yaffs_dev` 数据结构详解
数据结构·文件系统·nand flash·yaffs2
Zhen (Evan) Wang7 分钟前
.NET 8 + Angular WebSocket 高并发性能优化
c#·.net·angular
码上飞扬28 分钟前
Java大师成长计划之第20天:Spring Framework基础
java·开发语言
刚入门的大一新生28 分钟前
C++初阶-string类的模拟实现1
开发语言·c++
LabVIEW开发39 分钟前
LabVIEW中算法开发的系统化解决方案与优化
算法·labview
Phoebe鑫41 分钟前
数据结构每日一题day17(链表)★★★★★
数据结构·链表
梁下轻语的秋缘44 分钟前
每日c/c++题 备战蓝桥杯(洛谷P1115 最大子段和)
c语言·c++·蓝桥杯
chenyuhao20241 小时前
链表面试题7之相交链表
数据结构·算法·链表·面试·c#
Pluchon1 小时前
硅基计划2.0 学习总结 壹 Java初阶
java·开发语言·学习·算法