C语言之变量本质总结

来源:互联网 发布:如何手机网络定位找人 编辑:程序博客网 时间:2024/06/05 09:03


变量

变量的概念及本质:

变量命名规则:

标示符:

1、程序中用于标识常量、变量、函数的字符序列。

2、只能由字母、数字、下划线组成

3、第一个字母必须是字母或下划线,大小写有区别,不能使用C语言的关键字。

4、如果变量不初始化,就会默认读取垃圾数据,有些垃圾数据会导致程序崩溃。

 

变量的本质一段连续内存空间的别名

  1. 程序通过变量来申请和命名内存空间 int a = 0;(变量名a在代码区,是0这个四字节内存空间的别名)

  2. 通过变量访问内存空间

修改变量的三种方法

  1. 直接修改:int a =10;  a=20;

  2. 间接修改:内存有地址编号,拿到地址编号也可以修改内存;

    外挂原理就是通过变量内存地址修改变量值

    &a=1245024;

    *((int *)(1245024)) = 10;

  3. C++中引用

 

数据类型和变量的关系

 

C语言规定:通过数据类型来定义一个变量

注意:数据类型的本质和变量的本质区别

数据类型的本质是固定内存空间的别名(相当于声明一样)

变量的本质是一段连续内存空间的别名(这个相当于定义一个实实在在的内存空间)

 

声明变量的意义

C语言为什么要规定先声明变量呢?为什么要指定变量的名字和对应的数据类型呢?

1)建立变量符号表。

通过声明变量,编译器可以建立变量符号表,如此一来,程序中用到了多少变量,每个变量的类型是什么,编译器非常清楚,是否使用了没有声明的变量,编译器在编译期间就可以发现。从而帮助了程序员远离由于疏忽而将变量名写错的情况。

2)变量的数据类型指示系统分配多少内存空间。

3)变量的数据类型指示了系统如何解释存储空间中的值。

同样的数值,不同的类型将有不同的解释。int占据4个字节,float也占据4个字节,在内存中同样也是存储的二进制数,并且这个二进制数也没有标志区分当前是int型还是float型。如何区分?就是通过变量的数据类型来区分。由于声明建立了变量符号表,所以系统知道变量该如何解释。

4)变量的数据类型确定了该变量的取值范围

例如短整型数据取值-3276732767之间。

5)不同的数据类型有不同的操作

如整数可以求余。C语言用符号”%”表示求余。整数可以,实数不可

0 0