- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[理学]C语言课件08
第8章 指 针 8.1 指针的基本知识 8.2 指针与数组 8.3 指针与字符串 8.4 指针数组与多级指针 8.5 指针与函数 8.1 指针的基本知识 8.1.1 内存单元、内存地址及指针 指针就是存储单元的地址。 一个变量的指针就是该变量在内存中的存储单元的地址。 存取变量中的数据 直接引用: 按变量名称存取变量值的方式。 间接引用: 将某变量 a 的指针(地址)放在另一个变量pa中, 通过对变量pa的值(a变量的地址),由此地址存取变量 a的方式。 指针变量的定义 指针变量的初始化 一般形式:数据类型 *指针名=初始地址值; 8.1.3 指针基本操作 与*运算符 含义 直接访问与间接访问 直接访问:按变量名称存取变量值 间接访问:通过存放变量地址的变量去访问变量 8.1.4 指针作为函数的参数 间接访问主调函数中的变量——地址传递 特点:共享内存,“双向”传递 指针作为函数参数,可以使函数返回多个值 例8.4 编写函数,求一元二次方程a·x2+b·x+c=0的根(a≠0)的两个实根。 #includemath.h #includestdio.h int root(float a, float b, float c, float *x1, float *x2) { float d; d=b*b-4*a*c; if(d=0) { *x1=(-b+sqrt(d))/2/a; *x2=(-b-sqrt(d))/2/a; return 1; } else return 0; } void main() { float a,b,c,x1,x2; int flag; scanf(%f %f %f,a,b,c); flag=root(a,b,c,x1,x2); if (flag) printf(x1=%.2f x2=%.2f\n,x1,x2); else printf(方程无实数解\n); } 传地址的两个特点: 实参值是地址(可以是常量、变量或表达式)。函数调用时,将地址传给形参。 被调函数执行时,如形参指针所指向的变量值改变了,则主调函数中的变量值也改变了。 用指针变量引用一维数组元素 int a[7]={0,0,5,9,2,0,3}; int *p, *q; p=a[0]; *p=4; 给p 指向的数组元素a[0]赋值 p+1 指向的数组元素a[1] *(p+1)=8; 给 p+1 指向的数组元素a[1]赋值 使用指针变量要注意的几个问题 指针变量的值可以被改变,而数组名是地址常量, 不能改变 如: int a[10], *p for(i=0; i10; i++,a++) //错误 printf(“%d”,*a); 要注意指针变量的当前值 如: 8.2.2 一维数组作为函数的参数 8.2.4 指针与二维数组 二维数组的存储方式 例:int a[3][4]={{1,3,5,7},{2,4,6,8},{1,2,3,4}}; a是一个数组名,a数组包含三个元素a[0],a[1],a[2],每个元素又是一个一维数组,可把二维数组看成是一维数组的数组 二维数组中的两种指针 元素指针 :二维数组中每个元素的地址即为元素指针。a[i][j]元素指针可用a[i][j]或a[i]+j表示。 行指针 :二维数组中每一行的地址称为行指针。行指针是指向有确定长度的一维数组(这一维数组就看成是一行),其对象是整个一维数组。 定义行指针变量 对指针的说明 指针变量是有类型。 int (*p)[4]; p是存放由4个 整数组成的数组的指针变量。 int *q; q是存放 整型变量的指针变量。 int a[3][4]; p=a; q=a[0][0]; p+1 : 指向 a[1] q+1: 指向 a[0][1] 8.3 指针与字符串 8.3.1 字符串指针 字符串指针 定义:字符串第一个字符的地址 字符串指针的类型:字符指针char * 字符指针指向字符串的第一个字符 例8.11 将输入的字符串译成密码输出。密码规律:对大写英文字母用原字母后面的第4个字母代替原字母,若遇到大写字母‘W‘、’X’、‘Y’、‘Z’则分别用‘A’、‘B’、‘C’、D代替原字母,其余字符不变。
您可能关注的文档
最近下载
- 新22S6消防工程参考标准.docx
- 慢性肾脏病早期筛查、诊断及防治指南(2022年版).pptx VIP
- 家庭饮食健康计划.pptx VIP
- 2025年福建省厦门集美中学招聘办公室职员1人笔试备考题库及答案解析.docx VIP
- 级配碎石施工 ..ppt VIP
- 2022年7月上海高考英语真题(学生版+解析版+听力音频).docx
- DB44T 1212-2013 用能单位能源计量管理体系通用要求.pdf VIP
- 上-下气道慢性炎症性疾病联合诊疗与管理专家共识中华医学会呼吸病学分会哮喘学组(发布时间:2017-07).pdf VIP
- 心力衰竭诊疗规范.docx VIP
- 光照时间对三斑海马幼苗成活率和生长速度的影响.pdf VIP
文档评论(0)