C语言N06 指针 4学时+2学时.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 指针 本章课程共6学时 其中:授课4学时,上机2学时 例 用指针函数,给定学生序号输出学生全部成绩 main() { float score[][4]={{60,70,80,90}, {56,89,67,88},{34,78,90,66}}; float *search(float (*pointer)[4],int n), *p; int i,m; printf(Enter the number of student:); scanf(%d,m); printf(The scores of No.%d are:\n,m); p=search(score,m); for(i=0;i4;i++) printf(%5.2f\t,*(p+i)); } float *search(float (*pointer)[4], int n) { float *pt; pt=*(pointer+n); return(pt); } pointer pointer+1 34 78 90 66 56 89 67 88 60 70 80 90 score数组 6.6 指针数组与多级指针 指针数组: 定义:数组中存储元素为指针的数组 用途:处理二维数组或多个字符串 [存储类型] 数据类型 *数组名[数组长度说明]; 指针所指向变量的数据类型 指针本身的存储类型 区分int *p[4]与int (*p)[4] 赋值: main( ) { int b[2][3],*pb[2]; pb[0]=b[0]; pb[1]=b[1]; …….. } int *pb[2] pb[0] pb[1] int b[2][3] 1 2 3 2 4 6 初始化: main() { int b[2][3],*pb[ ]={b[0],b[1]}; …….. } int *pb[2] pb[0] pb[1] int b[2][3] 1 2 3 2 4 6 P277 * * 6.1 指针的基本概念 变量与地址的概念 内存 …… …… 2005 2004 2003 2002 2001 2000 …… …… 0000 内存中每个字节有一个编号—地址 int i; float k; 编译或函数调用时为其分配内存单元 i k 变量是对程序中数据 存储空间的抽象 P220 指针与指针变量的概念 指针:一个变量的的地址 指针变量:专门存放变量地址的变量 …… …… 2005 2004 2003 2002 2001 2000 …… …… 指针 10 2000 变量 i 内容 i_pointer 内容 指针变量 变量的地址 整型变量 i 变量 i_pointer 与 * 算符 含义: 取变量的地址 单目运算符 优先级: 2 结合性:自右向左 含义: 取指针所指向变量的内容 单目运算符 优先级: 2 结合性:自右向左 两者关系:互为逆运算 指针变量 变量地址(指针) 变量 变量值 指向 地址存入 指针变量 i_pointer i (*i_pointer) i *i_pointer *(i) i_pointer = i = (*i_pointer) i = *i_pointer = *(i) i_pointer 指针变量,它的内容是地址量 *i_pointer 指针的目标变量,它的内容是数据 i_pointer 指针变量占用内存的地址 直接访问与间接访问 直接访问:用变量的地址去访问变量值 间接访问:通过存放变量地址的另外一个变量去访问变量值 …… …… 2005 2004 2003 2002 2001 2000 …… …… 10 2000 变量 i 内容 i_pointer 内容 整型变量 i 变量 i_pointer 例 i=3; —直接访问 例 *i_pointer=20; —间接访问 3 20 6.2 指针变量 指针变量与其所指向的变量之间的关系 2000 i_pointer 3 变量i *i_pointer i *i_pointer i i_pointer i=3 *i_pointer=3 指针变量的定义 [存储类型] 数据类型 *指针名; 合法标识符 指针变量本身的存储类型 指针的目标变量的数据类型 表示定义指针变量 不是‘*’运算符 例 int *p1,*p2; float *q ; static char *name; 注意: int *p1

文档评论(0)

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

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

1亿VIP精品文档

相关文档