- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言基础 九、指针
九、指针
本章概述:
本章主要考查指针和地址的概念,指针的定义及使用,指针和一维数组的关系,指针和二维数组的关系,指针和字符串的关系,指向函数的指针及返回值为指针的函数,指针变量作函数的参数,指针数组及指向指针的指针等。
据对最近几年试卷分析得知,本章考核内容所占比例为15%左右,属重点考核内容,需重点理解。
大纲要求:
1.地址与指针变量的概念,地址运算符与间址运算符。
2.一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。通过指针引用以上各类型数据。
3.用指针作函数参数。
4.返回地址值的函数。
5.指针数组,指向指针的指针。
重点难点:
1.一维、二维数组和字符串的地址以及指向变量、数组、字符串、函数、结构体的指针变量的定义。通过指针引用以上各类型数据。
2.用指针作函数参数。
考点分析:
地址、指针和指针变量
计算机内存是一个连续编码的单元,每个存储单元都有一个固定的编号,这个编号就是地址。在C程序中定义变量,编译系统都会给这个变量分配相应的存储单元,变量的值放置在相应的内存单元中。C语言中的变量就代表了内存中的一些存储单元,该单元的固定编号就是变量的地址,也称为指针,因此变量的地址又称为变量的“指针”。专门用来存放另一个变量的地址的变量,称为指针变量,又称为指向某个变量的指针。
?在C语言中存在直接存取和间接存取两种访问内存数据的方法。直接存取利用变量名隐式地访问内存:首先定义变量,然后由编译系统完成从变量名到内存地址的映射工作,用户通过变量名访问内存空间,变量地址对用户完全透明。间接存取则通过指针显式地访问内存:用户直接使用变量的地址,或者将变量的地址值存储于指针变量中,然后通过指针变量获取地址值访问内存。
? 指针变量的定义:
类型名 *指针变量名1,*指针变量名2,……;
如:int *p,*q;,则定义了两个指针变量p和q,p和q分别指向整型变量。但此时p和q并没有指向,若要使其有指向,则需要给它们赋值。
如:int x,y;
p=x;
q=y;
则p和q分别指向整型变量x和y,即指针变量p和q中分别存放整型变量x和y的地址。
注意:指针变量的类型与它所指向的变量的类型应一致。指针变量中只能存放地址值,不可以将任何非地址类型的数据赋给指针变量。如: p=1000;这种赋值方式是非法的。
地址值可以通过运算符“”获取,地址中所存储的值可以通过运算符“*”间接获取。
(1)取地址运算符“”
使用格式为:变量名,如a表示变量a在内存中的地址。本运算符实现从变量到地址的转化。????
(2)指针运算符“*”
使用格式为:*指针变量名,如*p表示指针变量p所指向的变量的值。本运算符实现从地址到变量的转化。
【特别提醒】:语句int *p;中,指针变量p表示的是地址,而*p表示的是地址中所存放的数据。
试题解析
1.有以下程序
#includestdio.h
#includestdlib.h
int fun(int n)
{ int *p;
p=(int *)malloc(sizeofi(int))?;
*p=n; return *p;
}
main()
{ int a;
a=fun(10);
printf(“%d\n”,a+fun(10));
}
程序的运行结果是( ) [2008年9月 选择题 第31题]
A)0 B)10 C)20 D)出错
解析:答案为C。函数调用时,传值10给形参n,而在fun()函数中,指针变量p接收形参的值,并返回所接收的值。所以第一次调用fun函数后,变量a的值为10,加上第二次调用得到的值10,最后的输出结果为20。
2.以下定义语句中正确的是( )[2008年4月 选择题 第15题]
A)int a=b=0; B)char A=65+1,b=’b’;
C)float a=1,*b=a,*c=b; D)double a=0.0;b=1.1;
解析:答案为B,选项C错在给指针变量c赋值应该直接赋变量地址或指针变量。
3.若在定义语句:int a,b,c,*p=c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )[2007年9月 选择题 第15题]
A)scanf(“%d”,a,b,c); B)scanf(“%d%d%d”,a,b,c);
C)scanf(“%d”,p); D)scanf(“%d”,p);
解析:答案为C,p为指针变量,其中存放是变量c的地址。
4.设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是( ) [2007年4月 选择题 第29题]
A)float *p=1024; B
您可能关注的文档
- AutoCAD 2008中文版应用教程 第01章.ppt
- AutoCAD 2008中文版应用教程 第06章.ppt
- AutoCAD 2008中文版应用教程 第12章.ppt
- AutoCAD 2008中文版应用教程 第13章.ppt
- autocad教程 第十一章 尺寸标注.ppt
- AUTODYN4.3用户手册(中文)1.doc
- AUTODYN4.3用户手册(中文)2.doc
- AUTODYN培训三.ppt
- autodyn培训练习1_熟悉菜单.pdf
- AUTODYN培训五.ppt
- 携程产品营销经理岗面试题库参考答案和答题要点.docx
- 携程产品经理岗面试题库参考答案和答题要点.docx
- 携程供应链管理专员岗面试题库参考答案和答题要点.docx
- 携程交易数据分析师岗面试题库参考答案和答题要点.docx
- 携程公共关系专员岗面试题库参考答案和答题要点.docx
- 携程内部培训专员岗面试题库参考答案和答题要点.docx
- 福建省福州市2023-2024学年高二上学期期末测试英语试卷(含答案).pdf
- 携程人力资源专员岗面试题库参考答案和答题要点.docx
- 福建省三明市2023-2024学年高二上学期期末测试英语试卷(含答案).docx
- 福建省三明市2023-2024学年高二上学期期末测试英语试卷(含答案).pdf
最近下载
- 青岛版六年级上册劳动教案(教学设计).pdf
- 上海政法学院2020-2218学年度《宏观经济学》期末考试试卷含标准答案.docx
- 教研教培课件:《基于“数学核心素养”的初中教材解读的理论研究与实践探索》.pptx
- 上海政法学院2021-2022学年度《宏观经济学》期末考试试卷含标准答案.docx
- 基于高中语文学习任务群的思辨性阅读研究结题报告.pdf
- Python程序设计 13. numpy和pandas数据分析.ppt
- 2024-2025学年初中地理八年级上册人教版(新课程标准)(2024)教学设计合集.docx
- 宪法宣传主题班会(主题班会).ppt
- 品质管理的三现五原则.ppt
- 高中语文教学课件:古诗鉴赏之诗评类主观题指导.pptx
文档评论(0)