C语言,第1张

C语言,第2张

指针是C语言的精髓。通过使用指针,我们可以很好地利用内存资源,使其更加高效。利用指针技术,我们可以描述复杂的数据结构,更灵活地处理字符串,更方便地处理数组,使程序的编写简洁、高效、清爽。但是由于指针对于初学者来说比较难理解和掌握,需要一定的计算机硬件知识作为基础,所以需要多做练习,多练,在实践中尽快掌握,成为c语言高手。

以前我们在编程中定义或解释变量时,编译系统会为定义的变量分配相应的内存单元,即每个变量在内存中都会有一个固定的位置和特定的地址。由于变量的数据类型不同,其占用的内存单元数量也不同。如果我们在程序中将其定义为:

int a=1,b = 2;
float x=3.4,y = 4。5 ;
双m = 3.124
char ch1='a ',ch2 = ' b

我们先来看看编译系统是如何为变量分配内存的。变量A和B是整型变量,每个变量占用内存2个字节;x和y是实型,各占4个字节;m是双精度实数类型,占8个字节;Ch1、ch2是字符类型,各占1个字节。由于计算机内存是按字节寻址的,所以假设变量的存储是从内存的2000单元开始的,编译系统对内存中变量的存储如图6-1所示。

根据不同的数据类型,变量占用不同的内存大小,都有特定的内存单元地址。比如变量A的内存地址是2000,占用两个字节后,变量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,指针变量也存放在内存中。

左边部分显示的存储器存储指针变量的值,该值给出所指向变量的地址,通过该地址可以访问右边部分描述的变量。比如指针变量pa的值是2000,这是变量A在内存中的地址。因此,pa指向变量a..变量的地址就是指针,存储指针的变量就是指针变量。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C语言

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情