- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京 理工大学 C语言 程序设计 第九章指针
2000年1月25日 北京理工大学 / int a,b,c; a=1; b=2; c=a +b; C 语言提供对内存单元的“间接访问” 指针变量说明的格式与一般变量说明的格式一致。 数据类型说明符 *变量名 例:int x=2, y, *px; x,y是一般变量, px为指针型变量 这里,*的作用就是通知系统,变量px是指针变量。 被说明为指针的变量只能保存地址量。 前例:int a=1,b=2,c,*p_c; p_c = c; C语言提供一对与地址有关的运算符:* 与 。 例:int x=2, y, *px; px = x; 取变量x的地址赋值给指针px *运算符的意义 在数据类型说明中出现 “*变量名” 说明*后的变量是一个指针变量。 例如前例的:int x=2, y, *px; 在表达式中出现 “*变量名” 说明到*后变量中的地址取出内容参加运算。 例如前例的: y = x * 100; 赋值号的左值是“*变量名” 将赋值号的右值送到*后的变量指示的地址单元中。 例如前例的: *px = 10; 在说明指针变量的时候赋初值。 int x=2, y, *px=x; 用赋值语句为指针变量赋初值。 int x=2, y, *px; px=x; 已知 int i=0,j=1,*p=i,*q=j; 判断下面语句的正误。 A) i = *j; B) p = *i; C) j = *p++; D) i = *q; 例:交换变量a和b的值。 plus ( pa, pb ) int *pa, *pb; /* 形参为指针 */ { int temp; temp = *pa; *pa = *pb; *pb = temp; } main() { int a,b,c; scanf(%d%d”,a,b); plus(a,b); printf(“A + B = %d\n”,c); } max(int x,int y) { if(xy) return(x); else return(y); } main() { int max(),a,b,c; int (*p)( ); p = max; scanf(“%d%d”,a,b); c=(*p)(a,b); printf(“max=%d”,c); } 指向函数的指针变量可以作为函数的参数,主调函数需要调用不同的函数求解问题。 数组元素是内存的一个单元,故指向数组元素的指针变量的性质和指向变量的指针变量是一样的。 例如: int a[10],*p; p = a[0]; 也可以在说明语句对指针赋初值: 例如:int a[10],*p=a[0]; 引用数组元素的方式 下标方式 a[3]=1; 下标运算符[ ]做两件事: 1.计算元素的地址 a + 2 * 该数据类型长度。 2.对计算出的地址赋值或取内容。 指针方式 *(p + 3) = 1; 1.小括号内进行地址运算, 2.* 运算实现赋值或取内容。 数组名是地址,指向数组的指针变量是地址。通过指针变量也可以引用数组元素。p = a[0] 等效于 p = a。 例: main( ) { int a[]={1,2,3,4,5,6 }; int * p; p = a; printf(“ % d”,* p); printf(“ % d\n”,*(+ +p )); printf(“ % d”,* + +p); printf(“ % d\n”,*(p- -)); p + = 3; printf(“ %d %d\n”,* p,*( a + 3 )); } 多维数组名的性质 ① 多维数组名是数组的首地址。 例如:int a[3][4]; 数组名a在程序中是数组的首地址。 那么,a[0]、a[1]、a[2] 呢? 也是地址量。 把二维数组名,可理解成下面的图。 a 、 a[0] 是 a[0][0]的地址,是第一行的首地址。 例:已知: int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 求: A) *(a+6) B) *(a[0]+6)
您可能关注的文档
- 动漫欣赏.ppt
- 动物尸体存放记录.doc
- 动漫与我们.doc
- 动物的衣服.ppt
- 动物也搞笑-开心休闲素养知识面提升心灵领悟早会晨会夕会培训课件专题材料.ppt
- 动物肌肉的特点.ppt
- 动物微生态防制.ppt
- 动物卫生监督证章标志的管理和应用规范.ppt
- 动画模板:中国共青团.ppt
- 动画特效非常棒的 flash般的.ppt
- 2025-2030年中国UDF活性炭过滤芯行业深度研究分析报告.docx
- 安徽工业大学《高层建筑结构设计(一)》2023-2024学年第二学期期末试卷.doc
- 2025-2030年中国牙科台式电钻车项目投资可行性研究分析报告.docx
- 2025-2030年中国除尘脱硫应用喷嘴项目投资可行性研究分析报告.docx
- 2025-2030年中国超强玻纤风管项目投资可行性研究分析报告.docx
- 2025-2030年中国三道心电图机行业深度研究分析报告.docx
- 2025-2030年中国擦色树脂项目投资可行性研究分析报告.docx
- 2025-2030年中国竹纤维披巾行业深度研究分析报告.docx
- 2025-2030年中国超硬研磨膏行业深度研究分析报告.docx
- 2025-2030年中国低压套管行业深度研究分析报告.docx
最近下载
- 育才三中(初二年级)校本课程开设安排表2007.3.doc
- 古诗词诵读 《客至》 课件(共26张PPT)统编版高中语文选择性必修下册.pptx VIP
- 《中医学》教学大纲.docx VIP
- 2022《真希望我父母读过这本书》读后感.docx VIP
- 真希望我父母读过这本书精品课件模板.pptx VIP
- 2025年湘潭医卫职业技术学院单招面试模拟试题及答案解析.docx
- 污水处理中的污泥脱水浓缩技术考核试卷.docx VIP
- 我真希望我父母读过这本书读后感.docx VIP
- 2024年湖南城建职业技术学院单招职业技能测试题库(考试直接用).docx VIP
- DB62T 4919-2024苜蓿草高水分打捆技术规程.pdf VIP
文档评论(0)