- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
机电C9(指针)
c程序设计 鲍志斌 目录 指针和指针变量概述 指针与变量 指针和数组 字符串与指针 指针与函数 第一节 指针和指针变量概述 一、地址和指针 二、访问变量的方式 三、指针变量 地址和指针 地址 计算机内部存储器——内存,是一系列连续的单元排列在一起,每一个单元有一个编号,编号从0开始,按字节编址,顺序递增。这个编号称为地址。 变量: 在程序中所定义的变量,编译系统会根据变量的类型,分配一定长度的存储空间。 如: int a = 6; /*4个字节*/; char c = ‘a’; /*1个字节*/; float b = 5.3; /*4个字节*/; double f = 3.4; /*8个字节*/; 变量在内存中的存放: 指针 指针类型就是用来存放地址的变量类型 如果我们希望变量 p 用来存放地址值,那么就必须将 p 定义为指针类型。 反之,如果 p 为指针类型的变量,p只能存放地址值,而不能存放其他类型的数据。 访问变量的方式 在程序中是通过变量名来使用变量的值。 例如:printf( “%f”,b); C语言访问变量的方式 直接访问方式 例:用指针型变量 pa 来存放变量 a 的地址。 如果要得到 a 的值,先访问变量 pa,得到 pa 的值为2000(变量 a 的地址),再通过地址 2000 找到所指存储单元中的值(a 的值) 。 第二节 指针与变量 一、指针变量的定义 二、指针变量的引用 三、指针作为函数的参数 指针变量的定义 定义格式 指向的类型说明符 *指针变量名; 例: int *pt; * — 指针类型标记。 pt — 指针变量名 int — pt 是指向整数类型的指针变量。 普通变量与指针变量之间的关系: 例: int a,b; int *p1,*p2; 则有: p1 = a; p2 = b; 指针变量的引用 指针变量运算符 :取变量地址; * :取指针所指的变量的值; 例:设p 为指针变量 , 并且 p = a,则: b=*p ; 等价于:b= a; b=*p 意味着将p的值(一个地址)的单元中的 数据赋给b; 指针变量的引用 a:取变量a 的地址。 p = a; 意味着取变量 a 的地址送入p中。 指针变量作为函数的参数 指针变量存放的是地址值,可以作为函数的参数来进行“地址传送”; 实际参数可以是地址常量或指针变量; 形式参数则为指针变量。 例: 用函数来实现两个数的交换。 #include stdio.h void main() { int a = 3,b = 5; void swap( int x, int y); printf(交换之前 ); printf(a=%d,b=%d\n,a, b); swap(a,b); printf(交换之后 ); printf(a=%d,b=%d\n,a, b); } 例: 用函数来实现两个数的交换。 #include stdio.h void main( ) { int a = 3,b = 5; int *pa,*pb; void swap(int*, int* ); pa = a; pb = b; printf(交换之前 :); printf(a=%d,b=%d\n,a,b); swap(pa,pb); printf(交换之后 :); printf(a=%d,b=%d\n,a,b); printf(*pa=%d,*pb=%d\n, *pa,*pb); } swap( )能否写成下面的形式呢? swap (int *p1,int *p2) { int *p; p =p1; p1 =p2; p2 =p; } 结论: 当你需要在子函数中,将主函数内的变量值进行改变时,需要: 将子函数的形式参数定义成: 指针类型 对应的实在参数应该是: 对应变量的地址 第三节 指针和数组 指向一维数组元素的指针 数组名是一个地址常量; 计算机系统在处理数组时,在一个内存区域中,为数组分配一片连续的空间,并把这片区域的首地址值存入数组名中 数组名相当于地址常量。 数组名是一个基类型为数组
您可能关注的文档
最近下载
- 我爱这土地公开课一等奖市赛课一等奖课件.pptx VIP
- 2025社区工作者招聘考试综合基础知识试题(附答案).docx VIP
- 基于Javaweb的图书管理系统的设计与实现.docx VIP
- 医院危重孕产妇新生儿急救应急演练脚本.docx VIP
- 小学科学新教科版二年级上册1.6.“小房子”展示会教案(2025秋版).doc VIP
- 网络安全等级保护-重大风险隐患项描述实践指南(【2025】测评报告新增).docx VIP
- 社区工作者综合能力考试基础知识试题及答案.docx VIP
- 2025年秋新人教版数学三年级上册整册教案.pdf
- 抗菌药物临床应用分级管理目录(2023年版).doc VIP
- 急性左心衰护理课件ppt.pptx
文档评论(0)