C语言程序设计(第6章指针)

文章作者 100test 发表时间 2007:03:10 17:25:17
来源 100Test.Com百考试题网


6.1 指针与指针变量
过去,我们在编程中定义或说明变量,编译系统就为已定义的变量分配相应的内存单元,也就是说,每个变量在内存会有固定的位置,有具体的地址。由于变量的数据类型不同,它所占的内存单元数也不相同。若我们在程序中做定义为:
int a=1, b=2.
float x=3.4, y = 4 . 5 .
double m=3.124.
char ch1=a, ch2=b.
让我们先看一下编译系统是怎样为变量分配内存的。变量a , b是整型变量,在内存各占2个字节;x , y是实型,各占4个字节;m是双精度实型,占8个字节; ch1 , ch2是字符型,各占1个字节。由于计算机内存是按字节编址的,设变量的存放从内存2000单元开始存放,则编译系统对变量在内存的安放情况为图6 - 1所示。

变量在内存中按照数据类型的不同,占内存的大小也不同,都有具体的内存单元地址,如变量a 在内存的地址是200 0,占据两个字节后,变量b的内存地址就为2002,变量m的内存地址为2012等。对内存中变量的访问,过去用
scanf("%d%d%f",&.a,&.b,&.x) 表示将数据输入变量的地址所指示的内存单元。那么,访问变量,首先应找到其在内存的地址,或者说,一个地址唯一指向一个内存变量,我们称这个地址为变量的指针。如果将变量的地址保存在内存的特定区域,用变量来存放这些地址,这样的变量就是指针变量,通过指针对所指向变量的访问,也就是一种对变量的“间接访问”。
设一组指针变量pa、pb、px、py、pm、pch1、pch2,分别指向上述的变量a、b、x、y、m、ch1、ch2,指针变量也同样被存放在内存,二者的关系如图6 - 2所示:在图6 - 2中,左部所示的内存存放了指针变量的值,该值给出的是所指变量的地址,通过该地址,就可以对右部描述的变量进行访问。如指针变量pa的值为2000,是变量a在内存的地址。因此, p a就指向变量a。变量的地址就是指针,存放指针的变量就是指针变量。




相关文章


广西05年9月计算机等级考试成绩查询
C语言程序设计(第6章指针)2
云南:2006年全国英语计算机等级考试12月3日起报名
C语言程序设计(第6章指针)
上海:2005年下半年计算机等级考试成绩可电话查询
2006年11月高校计算机等考报考说明
上海市高校计算机等级考试新大纲颁布
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛