1700415115
1700415116
代码清单6.1 把123存入变量a
1700415117
1700415118
char a; /*定义变量*/
1700415119
1700415120
a=123; /*把数据存入变量*/
1700415121
1700415122
首先看后面的注释有“定义变量”的这一行代码char a,char代表一种C语言的数据类型,该类型可用于存储1字节的整数,通过这一行代码就在内存中预留了一块空间,并为这块空间起了个名字叫a
1700415123
1700415124
对于程序员来说,并不需要知道变量a被存储到内存空间中的哪个地址上。因为当程序运行时是由操作系统从尚未使用的内存空间中划分出一部分分配给变量a的。如图6.1所示,变量是程序中数据存储的最小单位,每个变量都对应着一块物理上的内存空间。
1700415125
1700415126
图6.1 内存的物理结构以及它与程序的关系
1700415127
1700415128
1700415129
1700415130
1700415131
如果是完全不了解数据结构的程序员,说不定会通过一个挨一个地定义出若干个离散的变量来编写程序吧。要是程序可以按预期运行,那么以这种方式编程也可以。但是若还要用这种方式来实现多个数据排序的算法,就有些困难了。
1700415132
1700415133
代码清单6.2中列出了一段程序,把三个数据分别存入a,b,c三个变量中,再将a,b,c中的数据的值按降序(从大到小的顺序)排列。在排序时为了交换两个变量的值还需要用到tmp变量,程序使用if语句一对儿一对儿地比较变量的大小,并根据比较的结果交换变量的值
1700415134
1700415135
代码清单6.2 把存入的三个变量中的数值按降序排列
1700415136
1700415137
/*定义变量*/
1700415138
1700415139
char a,b,c,tmp
1700415140
1700415141
/*把数据存入变量*/
1700415142
1700415143
a=123;
1700415144
1700415145
b=124;
1700415146
1700415147
c=125;
1700415148
1700415149
/*按降序排列*/
1700415150
1700415151
if (b>a){
1700415152
1700415153
tmp=b;
1700415154
1700415155
b=a;
1700415156
1700415157
a=tmp;
1700415158
1700415159
}
1700415160
1700415161
if (c>a){
1700415162
1700415163
tmp=c;
1700415164
[
上一页 ]
[ :1.700415115e+09 ]
[
下一页 ]