C学习笔记-变量

简介: 这篇文章是关于C语言学习笔记,主要介绍了变量的属性,包括常量、作用域、存储期、存储方式和存储类别,以及如何通过存储类别确定变量的存储期和作用域。

常量(只读变量 read-only-variable)

const int a=3 //常变量不可先声明存在,后赋值

变量的属性

作用域(scope)

存储期(storage duration)

静态存储期(static storage duration)
动态存储期(dynamic storage duration)
取决于存储方式

存储方式

系统对变量分配固定/动态的存储空间

变量的存储类别(storage class)

静态存储
动态存储
分为四种
自动(auto) 系统默认的动态存储方式
**静态的(static)**静态局部变量,函数执行完后函数内原值不消失,在其他函数内不可见
在不同文件中仅限于本文件引用,其他文件不引用:
在本文件中定义全局变量时加static 则可以仅被本文件使用
**寄存器的(register)**节约执行时间,优化编译系统可以自动放置
外部的(extern) 全局变量 从定义处开始到末尾,此前的函数如要使用该变量,需要用extern作外部变量声明
主函数首 extern int a,b;

extern不是用于定义变量的量 而是变量声明(已定义的外部变量)

在不同的文件中使用同一个变量:
在一个文件中定义int a=3;
在另一个文件中用extern a;

通过存储类别可以确定存储期和作用域

目录
相关文章
|
5月前
|
存储 C++
6变量
6变量
43 1
|
5月前
|
Python
DTL变量
【2月更文挑战第28天】DTL变量。
41 1
|
5月前
|
存储 编译器 C++
c++的变量
c++的变量
41 0
|
存储 算法 Python
变量进阶(理解)
* 变量 和 数据 都是保存在 **内存** 中的 * 在 `Python` 中 **函数 的 参数传递** 以及 **返回值** 都是靠 **引用** 传递的
|
编译器 C语言 iOS开发
变量|学习笔记
快速学习变量
变量|学习笔记
|
C++
变量基础
变量基础
93 0
|
Shell
变量中的变量
变量中的变量
84 0
|
Go 开发者
为什么需要变量|学习笔记
本课时进行讲解Go语言的变量,作为初学者要理解变量的含义以及在变成中如何去使用变量。
130 0
|
存储 程序员 PHP
常量| 学习笔记
快速学习常量。
|
PHP 开发者
变量传值| 学习笔记
快速学习变量传值。