语言地址_指针解析.docVIP

  • 3
  • 0
  • 约4.78千字
  • 约 8页
  • 2018-11-14 发布于广东
  • 举报
语言地址_指针解析.doc

C语言(自己整理) 地址抬针数组招1针数组 一、相关概念: **计算机内存中的各个存储单元都是有序的,按照字节进行编码。字节(byte)是 最小的存储单元。 a) 变量:代表内存中具有特定属性的一个存储单元。是一个地址和一个值的统称。 b) 指针:变量的地址称为变量的指针。 c) 指针变量:存放指针的变量称为指针变量。指针变量是一种特殊的变量。 、指针变量的定义一般形式: 一般形式为:型名*指针变量名1,指针变量名2,.......指针变量名n; G指针变量的类型为此指针变量指向的地址(变量)的类型。 、空指针: 空指针是一个特殊的指针,它的值是0, C语言中用符号常量NULL (在stdio.h中定 义)表示这个空值,并保证这个值不会是任何变量的地址。空指针对任何指针类型 赋值都是合法的。一个指针变量具有空指针值表示当前它没有指向任何有意义的东 西。 、void指针(空指针): (void*)类型的指针叫通用指针,可以指向任何的变量,C语言允许直接把任何变 量的地址作为指针赋给通用指针。但是有-?点需要注意void*不能指向由const修饰 的变量,egconstint test; void * ptv; ptv = test;第三句是非法的,只有将ptv申明为 const void * ptv;上述第三句(ptv = test},才是合法的. 当需要使用通用指针所指的数据参加运算时,需要写出类型强制转换。如通用 指针ptv所指空间的数据是整型数据,p是整型指针,用此式转换:p=(int*)ptv; d) 指针数组:数组元素全部为指针的数组为指针数组。 e) 数组:在程序设计中,为了处理方便,览具有相同类型的若干变量按有序的形 式组织起来。这些按序排列的同类数据元素的集合称为数组。 指针变量概念以及相关定义的理解.? 存放地址的变量称为指针变量。指针变量是一种特殊的变量,它不同于一 般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址。 假设在程序中声明了 1个int型的变量a,其值为68。系统为变量a分配的 首地址为0X65FDF4H, pa是存放变量a地址的指针变量,即pa屮存放的伉为 0x065FDF4Ho 对变量a的访问有两种方式:一是直接按地址0X065FDF4H找到a的存储单 元,从而对变量a进行访问;二是按系统为pa分配的地址先找到pa,然后根据 pa的值(即变量a地址0X065FDF4H)找到变量a在内存中的存储单元,从而对 变量a进行访m。对于前一种访m方式称为育兹访方式,后一种访w方式称 %间接访问h式。 如果?个指针变量存放的是某个对象的地址,则称这个指针变量指向该对象。 在C++程序设计中,指针变量只有确定了指向才有意义。 指针变量与一般变量的区别: 指针是C语言的精华部分,通过利用指针,我们能很好地利用内存资源,使其发挥 最大的效率。有Y指针技术,我们可以描述复杂的数据结构,对字符率的处理可以更 灵活,对数组的处理更方便,使程序的书写简洁,高效,清爽。 过去,敌从}在编程中定义或说明变量,编译系统就为已定义的变量分配相应的闪存 単元,也就是说,每个变量在内存会有固定的位置,有具体的地址。rhT变暈的数据 类型不同,它所占的A存单元数也不相同。若我们在程序中做定义为: int a=l,b=2; float x=3.4, y = 4.5 ; double m=3.124; char chl=,a,, ch2=b*; 编译系统于是为上述定义的变量进行地址(存储单元)的分配:变量a,b是整型(int) 变量,在内存各山* 2个字节;x,y是实型(float),各占4个字节;m是双精度贫型(double), 占8个字节;chl,ch2是字符型(char),各占1个字节。由于计算机内存是按字节编址 應设变量的存放从内存2000单元开始存放,贝编译系统对变量在内存的安放情况如 图所示: 200C20022004200S20:22O2C20213.44.53.124变屋x变霣ch2 200C 2002 2004 200S 20:2 2O2C 2021 3.4 4.5 3.124 变屋x 变霣ch2 图6-2指针变至与变轚在内存中的关系 变S权内存屮按照数据类型的不同,占内存的大小也不同,都奋具体的内存甲.元地址。 变量a在内存的地址是2000,占据两个字节后,变量b的内存地址就为2002,变 量m的内存地址为2012等。对内存中变量的访问,首先应找到其在内存的地址,或 者说,一个地址唯一指向一个内存变量,我们称这个地址为变量的指针(即变量的地 址)。他将变量的地址保存在内存的特定区域,用变量来存放这些地址,这样的变量 就是指针变量,通过指针对所指向变量的访问,也就是一种对变量的“间接访问”。 设一组

文档评论(0)

1亿VIP精品文档

相关文档