关于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语言·数据结构·算法·新人首发
yaoxin5211231 小时前
384. Java IO API - Java 文件复制工具:Copy 示例完整解析
java·开发语言·python
WBluuue2 小时前
数据结构与算法:康托展开、约瑟夫环、完美洗牌
c++·算法
NotFound4862 小时前
实战指南如何实现Java Web 拦截机制:Filter 与 Interceptor 深度分享
java·开发语言·前端
木子墨5162 小时前
LeetCode 热题 100 精讲 | 并查集篇:最长连续序列 · 岛屿数量 · 省份数量 · 冗余连接 · 等式方程的可满足性
数据结构·c++·算法·leetcode
浅时光_c2 小时前
14 结构体 共用体 枚举类型
c语言
Ava的硅谷新视界3 小时前
用了一天 Claude Opus 4.7,聊几点真实感受
开发语言·后端·编程
rabbit_pro3 小时前
Python调用onnx模型
开发语言·python
2501_921960853 小时前
双相自指图与弦论边界非对易性的结构同源
数据结构
王老师青少年编程3 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【线性扫描贪心】:均分纸牌
c++·算法·编程·贪心·csp·信奥赛·均分纸牌