网站大量收购独家精品文档,联系QQ:2885784924

c语言——指针.ppt

  1. 1、本文档共90页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c语言——指针

第八章 指 针 回顾 函数是程序中的一个相对独立的单元或模块,程序在需要时可以任意多次地调用函数来完成特定功能。 使用函数带来的好处: 程序更清晰、易维护、分模块方便设计与开发、提高代码的重用性。 C语言提供了极为丰富的内置函数,这些内置函数分门别类地放在不同的头文件中,要使用这些内置函数,只要在程序前包含相应的头文件即可。 自定义函数是用户在程序中根据需要而编写的函数。 函数的结构包括:返回值类型、函数名、参数列表、函数体。 函数原型说明以便向编译器指出该函数使用什么样的格式和语法。 函数调用时程序控制流将转向被调函数,被调函数执行结束时,控制流返回主调函数。 return 语句用于向调用函数返回值。 函数的嵌套与递归、变量的作用域和存储类型等。 目标 理解指针的概念 定义指针变量 掌握对指针的操作 理解指针和数组的关系 8.1指针概念和定义-8.1.1 指针简介 2-2 指针也是一个变量,只不过该变量中存储的是另一个对象的内存地址。 如果一个变量存储另一个对象的地址,则称该变量指向这个对象。 由于指针值是数据,指针变量可以赋值,所以一个指针的指向在程序执行中可以改变。指针p 在执行中某时刻指向变量i,在另一时刻也可以指向变量j。 8.1.2 指针变量的定义 指针的特点 指针变量的命名规则和其他变量的命名规则一样 指针不能与现有变量同名 指针可存放 C 语言中的任何基本数据类型、数组和其他所有高级数据结构的地址 若指针已声明为指向某种类型数据的地址,则它不能用于存储其他类型数据的地址 应为指针指定一个地址后,才能在语句中使用指针 8.1.3 指针的操作1. 指针变量的引用 8.1.3 指针的操作 8.1.3 指针的操作 8.1.3 指针的操作 8.1.3 指针的操作 2. 指针变量的初始化 设有指向整型变量的指针变量p,如要把整型变量a 的地址赋予p可以有以下两种方式。 (1)指针变量初始化的方法 int a; int *p=a; (2)赋值语句的方法 int a; int *p; p=a; 不允许把一个数赋予指针变量,故下面的赋值是错误的: int *p; p=1000; 被赋值的指针变量前不能再加“*”说明符,如写为*p=a 也是错误的。 2. 指针变量的初始化 设有指向整型变量的指针变量p,如要把整型变量a 的地址赋予p可以有以下两种方式。 (1)指针变量初始化的方法 int a; int *p=a; (2)赋值语句的方法 int a; int *p; p=a; 不允许把一个数赋予指针变量,故下面的赋值是错误的: int *p; p=1000; 被赋值的指针变量前不能再加“*”说明符,如写为*p=a 也是错误的。 不允许对没有初始化的指针变量作如下操作:*ip=i 2. 指针变量的初始化 3、指针变量的移动 指针变量的移动有三种操作。 (1)p=p+n(或p=p-n); (2)p++; (3)p--。 其中,n是一个整数,也可以是一个整型表达式。(1)中表达式的作用是使指针p向前(或向后)移动n个单位长度;p++(p--)的作用是使p向前(或向后)移动1个单位长度。 2. 指针变量的初始化 例如: int i=3,*p=i; p++; p=p+2; 执行完以上程序段后,指针的移动如图8.6所示。 2. 指针变量的初始化 8.1.4 指针指针的指针 8.1.4 指针指针的指针 8.1.4 指针指针的指针 8.1.4 指针指针的指针 8.1.4 指针指针的指针 8.1.4 指针指针的指针 8.1.4 指针指针的指针 8.2 指针变量与函数参数 8.2.2 传地址与地址传递的区别 8.3 指针与数组 8.3.2 通过数组指针访问数组 8.3.3 通过指针变量访问数组 8.3.4 数组名作为函数参数 8.4 指针与二维数组 8.4 指针与二维数组 8.4 指针与二维数组 8.4 指针与二维数组 总结 指针是一个变量,它存储另一个对象的内存地址 指针的声明由基本类型、星号 (*) 和变量名组成 为指针赋值,赋值运算符右侧必须是一个地址。如果是普通变量需要在前面加一个取地址运算符 ;如果是另一个指针变量或者是一个数组,不需要加 运算符 运算符 * 用于返回指针指向的内存地址中存储的值 指针的算术运算的含义是指针的移动,将指针执行加上或者减去一个整数值n的运算相当于指针向前或向后移动n个数据单元 指针可以执行比较相等的运算,用来判断两个指针是否指向同一个变量 指向数组的指针,存储的是数组中元素的地址。 8.4.3 指向二维数组的指针变量 3.字符串指针变量与字符数组的区别 用字符数组和字符串指针变量都可以实现字符串的

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档