10指针.pptVIP

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
10指针ppt课件

10.1 地址和指针的概念 指针是C语言中的一个极其重要的概念,也是C语言的重要特色。使用指针的好处: ①可以描述复杂的数据结构 ②对字符串和数组的处理更方便灵活 ③可以动态分配内存 ④在调用函数时能得到多个的返回值 ⑤能很好地利用内存资源 ⑥使程序简洁、紧凑、高效,可以设计出更接近底层(硬件)的程序 指针的概念比较复杂,在学习过程中, 应掌握好指针、变量的指针、指针变量、指针变量的指向这些概念。 1. 内存单元的地址与内容 (1)地址:计算机硬件系统的内存储器中,拥有大量的存储单元(容量单位为字节)。为了方便管理,必须为每一个存储单元顺序编号,这个编号就是存储单元的“地址”。每个存储单元都有一个唯一的地址 (2)内容:在地址所标识的存储单元中存放的数据。每个内存单元存放一个字节,一个字节为8位二进制 注意:内存单元的地址与内存单元中的数据是两个完全不同的概念 2.变量的存储空间的分配和使用 如果在编程中定义了变量,C语言编译系统就为已定义的变量分配一定的内存单元,每个变量在内存会被分配一个位置,有具体的地址。由于变量的数据类型不同,它所占的内存单元数也不相同。例如,为整型变量分配2个字节, 对实型变量分配4个字节, 对字符型变量分配一个字节。 程序运行时,变量存放在内存当中,数据的运算, 就是使用和改变这些内存单元的值的过程。 对如下一段小程序: main() { int i=1,j=2; float x=3.4, y = 4.5; double m=3.124; char ch=a; i=i+1; x=x*2; } 编译系统为变量分配内存情况。 i, j是整型变量,在内存各占2个字节; x , y是实型,各占4个字节; m是双精度实型,占8个字节; ch是字符型,占1个字节。假设变量的存放从内存2000单元开始存放,编译系统对变量在内存的位置分配情况为图10.1所示。 3.指针和指针变量的概念 C语言中,可以使用变量的地址,例如: scanf(“%d”, i); 在执行时,把从键盘输入的整型数值送到i所占据的储存单元中。 即通过地址能对变量进行赋值操作。因此,可以说地址“指向”该变量单元,这里的地址是指变量所占据的存储单元的首地址,C语言中将地址形象地称为“指针”,意思是通过指针能找到以它为地址的内存单元。一个变量的地址就称为该变量的指针,即指针是一个变量的地址。 指针可以通过地址运算取得。可以将变量i的地址存放在一个特殊的变量中,这个特殊的变量被称为指针变量-即存放指针的变量。指针变量也是一种变量,只不过它存放的内容是指针(地址) 。 可以定义一个指针变量,用来存放整型变量的地址。 指针变量的定义与引用 1. 指针变量定义的一般形式 指针变量是存放地址的变量。和其他变量一样,必须在使用之前,加以定义说明。定义指针变量的一般形式为: 类型符 *指针变量名; 例如: int *p; 1)在这里*是指针运算符,表明p是指针变量。 2)int是类型符,类型符为指针变量p所指变量的类型。一个指针变量只能指向定义类型的变量。 3)指针变量也可以和基本类型、构造类型变量一起定义,例如: int *p1, i, *p2,a[10]; 下面都是合法的定义: char *s, *t; 说明变量s和t是指向char类型变量的指针变量。 float *f; 说明变量f是指向float类型变量的指针。 double *d, x; 说明变量d是指向double类型变量的指针变量。x是double类型变量。 2.指针变量的初始化 指针变量在使用前,要用声明语句或赋值语句初始化,使指针变量指向某一变量。 (1) 可以在定义指针变量时初始化,例如: int i, *p=i; 表示定义了整型变量i和整型指针p; 同时p赋了初值,指向了i; 此时i分配了存储空间,但还没有初值。它相当于: int i; int *p; p=i; P i (2) 通过赋值语句使指针变量初始化 int *pointer_1, *pointer_2, i, j; pointer_1=i; pointer_2=j; (3)两个指针变量

文档评论(0)

118zhuanqian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档