- 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语言第七次课
C-LANGUAGE 第八章 指 针 指针的概念 ⒈指针可以理解为地址,一个变量在内存单元的首地址称为该 变量的“指针”,通过变量指针可以找到该变量所占用的内存 单元。 ⒉ 指针变量,即专门用来存放内存地址的变量。也就是说,如 果有一个变量专门用来存放另一变量的地址(即指针),则它 称为“指针变量”。指针是一个地址,而指针变量是存放地址 的变量。 ⒊ 指针变量的定义形式为: 类型名 *指针变量名; e.g. int *p,*q; 说明:① 指针变量的类型名用来指定该指针变量可以指向的变 量的类型。 指针的概念 ② 在定义指针变量时必须指定类型名。一个指针变量只能指 向同一类型的变量,不能忽而指向一个整型变量,忽而指 向一个实型变量。 ③ 指针变量前面的“*”表示该变量的类型为指针型变量。 ④ 在定义指针变量时必须指定类型名,如果指针是指向一个 整型变量,那么“使指针移动1个位置”意味着移动4个字 节,“使指针加1”意味着使地址值加4个字节。 ⒋ 指针变量的引用 说明:C语言中对指针变量的引用是通过“”和“*” 两个运算 符实现的。其中,是取地址符。 它的一般格式为: 变量名 *是取值运算符,又称间接访问运算符。 它的格式为:*指针变量名 指针的概念 例题: main() { int x,y; int *p; x=10; p=x; y=*p; printf(“y=%d\n”,y); } note:”*”运算符在该例中两次出现,分别代表两种不同的含 义。在定义变量时,“*”只起标记作用,用来说明所定 义的变量是指针变量。在非定义状态下,“*”是间接访 问运算符,用来获取指针变量所指向变量的内容。 指针的概念 ⒌ 指针变量的初始化 指针变量在使用之前必须对其进行初始化,使指针变量指向一 个确定的内存单元。一般形式为: 类型说明符 *指针变量名=初始地址值; e.g. int a=10;int *p=a; note:① 任何指针变量在使用之前都要进行定义并赋值,未 经赋值的指针变量是禁止使用的。 ② 在初始化指针时,要注意类型匹配的问题,也就是 说,必须是同一类型数据的地址才能进行指针初始化。 ③ 可以把一个指针的值赋给另一个指针,但不能直接 用整型数据赋值给指针变量。 指针的概念 ⒍ 指针的运算 在C语言程序中,指针只能进行赋值运算,部分算术运算及关 系运算。 ⑴ 赋值运算 说明:指针变量的赋值运算只能在同一数据类型之间进行。 e.g. int *p1,*p2,a,s[5]; int *p1=a; /*指针变量初始化赋值*/ p2=a; /*把变量a的地址赋给指针变量p2*/ p1=s; /*把数组s的首地址赋给指针变量p1*/ p1=s[3]; /*把数组元素s[3]的地址赋给指针变量p1*/ P1=Null; /*把空指针Null赋给指针变量p1*/ 指针的概念 说明:Null是一个符号常量,在stdio.h头文件中有对它的定 义。将指针变量赋值为Null,表示该指针变量当前未指 向任何变量,其值为0. note:给指针变量赋0值和不赋值是不同的。 指针变量未赋值时,程序编译时分配给指针变量的存储空间中 的值是不确定的,可以是任何值,直接使用该指针变量有可能 造成错误。而指针变量被赋Null值后,值是确定的,则可以 使用,只是它未指向具体的变量。 ⑵ 算术运算 描述:主要是对指针变量加上或减去一个整数,这样会使指针 变量指向相邻的存储单元,即指针的移动。只有指针变 量指向一片连续的存储单元时,指针的移动才有意义。 指针的概念 e.g. 在内存中有一片地址连续的存储单元,基本类型为int类型的指针变量p 指向地址为1000的存储单元,若执行操作p=p+1;则指针变量p指向 首地址为1004的存储单元。 note:指针变量p的基本类型为int,移动一个存储单元的长度就是移动4个字 节。因此,对指针变量进行加减运算时,数字“1”不再代
您可能关注的文档
最近下载
- Q/GDW 13239.1—2018 35kV电力电缆采购标准(第1部分:通用技术规范).pdf VIP
- 水电解质酸碱代谢失衡病人的护理失衡.ppt VIP
- Q∕GDW 13247.2-2018 35kV电力电缆附件采购标准 第二部分:专用技术规范(高清-可复制).pdf VIP
- 2024届高考英语一轮总复习选择性必修第二册Unit3FoodandCulture教师用书.doc VIP
- 医学检验生物安全培训课件.pptx VIP
- 高三化学教学反思15篇.pdf VIP
- 河南成人2024学位英语考试真题及答案.docx VIP
- 中药新药临床研究.pptx VIP
- 2024届高考英语一轮总复习选择性必修第二册Unit1ScienceandScientists教师用书.doc VIP
- 农田喷灌工程施工方案(3篇).docx VIP
文档评论(0)