- 1、本文档共96页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
08 (C语言课件)-指针
第8章 指针;8.1 指针的概念;当程序中要用它们的值时:
y=i+j+k;;直接访问:直接使用存放该数据的变量名。;如:用pi, pj, pk来存放i, j, k的地址;显然,pi与i是通过i的地址联系起来的。;二、指针变量的定义; 明确一个概念:指针变量也有类型,因为类型涉及到所占单元数,也就是指针变量在计算时有所不同。例如:;重要概念: 指针变量也有各种类型(如上面所示),但指针变量的值只能是整型值。;(3) 将一个变量的地址(指针)赋给一个指针变量,用取地址运算符:;(4) 存取指针变量所指向变量(目标变量)的值:
用指针运算符*, 即:*x 为 i;三、指针变量的初始化; 但当用地址(指针变量)作参数时,作用为传址,与数组名类似。;程序运行结果:; 程序中,实参与形参共用同一个内存单元,通过修改地址所指的值来交换数据:;执行过程分析 (设a?10, b?20);a;1. 注意函数中p为普通变量,并非地址量。
如p为地址量,它为哪一个变量的地址?这时:
int t,*p=t;?(允许) ?p= ?p1;sway(p1, p2)
int p1, p2;
{
int p;
p=p1;
p1=p2;
p2=p;
} ;4. 结论:;8.2 指针的运算;;;8.3 指针与数组的关系;8.3.1 指向一维数组的指针;* 指针也可用下标表示。;#includestdio.h
main()
{
int a1=123, a2=234, a3=345;
int *p1, *p2, *p3;
int as[3]={1, 2, 3}, *ps;
p1=a1;
p2=p1+1;
p3=p2+1;
printf(p1=%ld\n p2=%ld\n p3=%ld\n, p1, p2, p3);
printf(*p1=%d\n *p2=%d\n *p3=%d\n, *p1, *p2, *p3);
ps=as;
printf(ps[0]=%d\n ps[1]=%d\n ps[2]=%d\n,ps[0],ps[1],ps[2]);
};运行结果:;注意: 指针变量在未赋值前指向一个不定值;int *p=a[0];
或 int ?p=a; ?
(等价于) ;由首地址指针来引用数组中的其它元素。
设p为a的首地址,p=a,或p=a[0]; ;指针;#include stdio.h
main()
{
int a[4]={1, 2, 3, 4}, *p, i;
p=a;
i=0;
do
{
printf(*p=%d, p=%ld\n, *p, p);
p=p+1;
i=i+1;
}
while(i4);
};8.3.2 多维数组的指针;12; 设首地址a:2000, 则a+1:2008, a+2: 2016;#include stdio.h
main()
{
int i,j, a[3][4]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
for (i=0; i3; i++)
printf(addr of a[%d] [0] is: %ld\n, i, (a+i));
for (i=0; i3; i++){
printf(\n);
for (j=0; j4; j++)
printf(addr of a[%d] [%d] is: %ld\n, i, j, *(a+i)+j);
}
};addr of a[0] [0] is: 113901500
addr of a[1] [0] is: 113901508
addr of a[2] [0] is: 113901516
addr of a[0] [0] is: 113901500
addr of a[0] [1] is: 113901502
addr of a[0] [2] is: 113901504
addr of a[0] [3] is: 113901506
addr of a[1] [0] is: 113901508
addr of a[1] [1] is: 113901510
addr of a[1] [2] is: 113901512
addr of a[1] [3] is: 113901514
addr of a[2] [0] is: 113901516
addr of
您可能关注的文档
- -保驾护航,防患未然,优化运维.PDF
- -她,系金A-.PDF
- -调配R&O油,HL液压油,CL齿轮油将符合.PDF
- 01-填空.doc
- 08.C语言程序设计-函数.ppt
- 1 554-557 接597 基础研究 4-8 电击条件对雨生红球藻细胞存活率的影响.pdf
- 1.望各位老师一定按时完成作业。.doc
- 1.杨梅圆圆的,和桂圆一样大小,遍身生着小刺。2.杨梅圆.ppt
- 1.汉语拼音拼读表一.PDF
- 10-磁场ok.ppt
- 原电池电动势的测定实验报告.pdf
- 与业主、设计、总包、监理和他承包人的配合措施.pdf
- 公司管理流程.pptx
- 2024_2025学年新教材高中地理第1章地球的运动素养综合训练新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第3章大气的运动第1节常见天气系统第1课时锋与天气分层作业新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第1章地球的运动第2节地球运动的地理意义第4课时正午太阳高度的变化四季更替和五带划分分层作业课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第2章地表形态的塑造第2节构造地貌的形成第1课时地质构造与地貌课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第1章地球的运动问题研究人类是否需要人造月亮课件新人教版选择性必修1.pptx
- 五片小雪花课件.pdf
- 2024_2025学年新教材高中地理第3章大气的运动第2节气压带和风带第1课时气压带和风带的形成分层作业课件新人教版选择性必修1.pptx
文档评论(0)