- 1
- 0
- 约 5页
- 2017-08-26 发布于河南
- 举报
C语言指针入门.txt男人的话就像老太太的牙齿,有多少是真的?!问:你喜欢我哪一点?答:我喜欢你离我远一点!执子之手,方知子丑,泪流满面,子不走我走。诸葛亮出山前,也没带过兵!凭啥我就要工作经验?
指针 C语言编程入门(十三)
----中软总公司 李长林
--------------------------------------------------------------------------------
使用指针是C语言的重要特点之一。什么是指针呢?指针是存放内存地址的一种变量类
型。也就是说,指针这个变量是用来说明某个变量在内存中的位置。或者说,指针是指向另
一个变量的变量。指针和地址紧密地联系在一起。
这样说明,对初学者来说可能有些难于理解,下面图书馆为例来说明什么是指针。
在图书馆中,书库中每一本图书都有一个书号,整个书库按书号有序地排列着。书号就
可看作图书在库中的地址。每一本图书还有一个索引卡片,要查找一本图书,首先从索引卡
上查找这本图书的书号,然后再按书号在库中取书。这过程说明书号表示了图书在库中的位
置,也就是地址。图书索引卡就相当指针变量,在它上面的书号就相当内存地址。而那个号
码位置上的图书,就是它所指的变量。因此,也可以这样说明指针:索引卡(指针)这个变量是
有来说明某本书(某个变量)在书库中(在内存中)的位置;或者说索引卡(指针)是指向一本书
(另一个变量)的变量。
指针通过内存地址间接地址对变量进行操作。利用指针这个数据类型,可以生成更复杂
的数据结构,比如链表、二叉树等;可以使一些复杂的数据,比如:数组、结构、联合等数据
的函数间的传递、操作变得轻而易举;可使程序编译后的目标码执行的速度更快而有效。因
此学习C语言,对指针这个概念一定要理解清楚,正确运用。
一、指针的定义形式 类型标识符 *指针名;
类型标识符:是说明指针所取的对象的数据类型。对于数据类型来说,可以是基本数据
类型,也可以是扩展的数据类型。
*:是表示指针操作符。它的作用有二:一是定义指针变量,二是指明指针所指变量的值。
指针名:用以说明用户指定的符合C语言规定的名字标识符。
例1:Char *ch;
定义了ch指针,它是指向字符型变量。
例2:int *n;
定义了n指针,它是指向整型变量。
例3:float *5指针,它是指向单精度浮点型变量。
例4:int(*p)[10];
定义了P指针,它是指向数组的指针,数组内有10个元素,每个元素是整型的。
例5: int *p[10];
定义了P数组,数组内有10个元素,每个元素是指向整型变量的指针。
更复杂的指针定义例子还有很多,待以后各讲中出现时,再作详细说明。指针的读法是:
先读指针名,再读名字右边,再读指针名字左边。如果需要先读指针名左边再读右边,则要
加上小括号。比如例4。
另外,在类型标识符后面和*号前面可加上关键字far或near,来说明远指针或近指针。
例 int far *n;
此例定义了远指针n,它是指向整型变量的。
指针的长度是依赖于它指向的数据类型。比如,int *n;在一般系统上二字节。而intfar *n;为四字节。
二、指针的操作
指针操作时首先对和*两个运算符说明如下:
——地址操作符,它返回操作数的地址。大家可能提出问题,不是按位与运算符吗?怎
么又是地址操作符?是的,C语言允许重复定义一个运算符,而在使用时绝不会混淆。
*——指针运算符,又称间接运算符。在操作中,它返回指针所指位置中变量的值,在定
义变量时它说明这个变量是指针。可看出这样是一种重复定义,(与乘号(*)也是重复)。但
在使用时,因在程序中,位置不同而不会混淆。C语言重复定义的运算符还有,比如负号(-)和减号(-)。
例如:
int n=5;/*定义了整型变量n赋初值5*/int *p;/*定义了指针p,它指向整型数据*/p=n;
/*将变量n的地址赋给指针p*/printf(N=%d,p指向变量的值=%d\n,
您可能关注的文档
- c语言课件04.ppt
- C语言课件 第01章.ppt
- c语言课件 第1章_概述.ppt
- C语言课件:第1章_概述.ppt
- C语言课件_很经典.ppt
- FOXBORO工程师概论-中文.ppt
- C语言课件第三章--数据运算.ppt
- Foxit PDF Editor的使用方法.pdf
- C语言历年题目(二).pdf
- GCT逻辑08求因果联系五法.ppt
- 人教版九年级英语Unit 4曾害怕课件3a-4c.pdf
- 雅思口语考题回顾:朗阁海外考试研究中心2019年10月10日Part 1考题总结.pdf
- 2026届高三地理一轮复习课件小专题河流袭夺.pptx
- 【名师原创】复习专题5 三角函数 作者:合肥市第八中学 蒲荣飞名师工作室.docx
- 高中数学一轮复习 微专题2 抽象函数.docx
- 高中数学——复习专题4 空间向量与立体几何.docx
- 高中数学一轮复习 微专题3 空间几何体中的截面、轨迹问题.docx
- 高中数学一轮复习 微专题4 空间几何体的最值、范围问题.docx
- 导流洞施工质量通病防治手册.docx
- 江苏省徐州市第一中学、徐市第三中学等五校2026届高三上学期12月月考历史试题含答案.docx
最近下载
- 广西建筑工程施工图设计文件技术审查常见问题解答汇编-暖通专业2026.pdf VIP
- 15J401钢梯规范规范.docx VIP
- 检察院书记员面试真题及参考答案.docx VIP
- 南京师范大学《经济法》笔记-知识点.pdf VIP
- 2021年专升本c语言模拟题.pdf VIP
- 智能路灯控制器[KQ-LD1]说明书.pdf VIP
- 南京师范大学《工程力学》2018-2019学年期末试卷.pdf VIP
- 2025年中国益生菌补充剂市场调研报告_2025年12月.docx VIP
- 污水厂运营人员任务及岗位职责.pdf VIP
- 2026年1月浙江省高考(首考)英语试题(含答案详解)+听力音频+听力材料.docx
原创力文档

文档评论(0)