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

相关推荐
Bdygsl41 分钟前
前端开发:JavaScript(3)—— 选择与循环
开发语言·javascript·ecmascript
HW-BASE2 小时前
《C语言》指针练习题--1
c语言·开发语言·单片机·算法·c
max5006002 小时前
基于深度学习的污水新冠RNA测序数据分析系统
开发语言·人工智能·python·深度学习·神经网络
泽虞2 小时前
数据结构与算法
c语言·数据结构·算法
遇见尚硅谷3 小时前
C语言:20250805学习(文件预处理)
服务器·c语言·学习
max5006003 小时前
深度学习的视觉惯性里程计(VIO)算法优化实践
人工智能·深度学习·算法
岁忧3 小时前
(nice!!!)(LeetCode 每日一题) 3363. 最多可收集的水果数目 (深度优先搜索dfs)
java·c++·算法·leetcode·go·深度优先
shenghaide_jiahu5 小时前
数学建模——粒子群算法
算法·数学建模
小杨爱搞嵌入式5 小时前
【STM32】GPIO的输入输出
c语言·笔记·stm32·单片机·学习
无规则ai5 小时前
动手学深度学习(pytorch版):第一章节——引言
人工智能·pytorch·深度学习·算法·机器学习