- 1、本文档共86页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]C语言第10章
2 §10.1 地址和指针的概念 §10.2 变量的指针和指向变量的指针变量 §10.3数组与指针 §10.4 字符串与指针 §10.5指向函数的指针 §10.6返回指针值的函数 §10.7指针数组和指向指针的指针 §10.8有关指针的数据类型和指针运算的小结 上机作业 练习题 例1:通过指针变量访问整型变量 void main(){int a,b; int *pointer_1,*pointer_2; a=100;b=10; pointer_1=a; pointer_2=b; printf(“%d,%d\n”,a,b); printf(“%d,%d\n”,* pointer_1,* pointer_2);} 例:输入a、b、c这3个整数,按大小顺序输出 void swap(int *pt1,int *pt2) {int temp;temp=*pt1;*pt1=*pt2;*pt2=temp;} void exchange(int *q1,int *q2,int *q3) {if(*q1*q2) swap(q1,q2); if(*q1*q3) swap(q1,q3); if(*q2*q3) swap(q2,q3);} void main() {int a,b,c,*p1,*p2,*p3; scanf(“%d,%d,%d”,a,b,c); p1=a;p2=b;p3=c; exchange(p1,p2,p3); printf(“\n%d,%d,%d\n”,a,b,c);} 对二维数组 int a[3][4],有 a-----二维数组的首地址,即第0行的首地址 a+i-----第i行的首地址 a[i] ? *(a+i)------第i行第0列的元素地址 a[i]+j ? *(a+i)+j -----第i行第j列的元素地址 *(a[i]+j) ? *(*(a+i)+j) ? a[i][j] 2、指向多维数组元素的指针变量 定义形式: 数据类型 (*指针名)[数组长度]; 例 int (*p)[4]; 实参是地址或指针; 形参有两种形式:(1)用指向变量的指针变量, (2)用指向一维数组的指针变量。 1、用字符数组存放一个字符串 二、字符指针作函数参数 char *cp; 与 char str[20]; 1、存储内容不同 str由若干元素组成,每个元素放一个字符;而cp中存放字符串首地址,即第1个字符的地址,而不是将字符串放在字符指针变量中 2、赋值方式不同 (1)对字符数组要么赋初值(即定义时赋值),要么对元 素赋值,下面的赋值方式是错误的: char str[14]; str[14 ]=“I love China!”; (?) (2)字符指针变量赋值一般可赋初值,或先定义后赋值,如 char *a; a= “I love China!”; 等价于: char *a= “I love China!”; (?) str是地址常量;a是地址变量 二、用指向函数的指针作函数参数 对上例中的学生,找出其中不及格课程的学生及其学生号 一、指针数组的概念 定义:数组中的元素为指针变量 定义形式:[存储类型] 数据类型 *数组名[数组长度]; 例 int *p[4]; 定义: 指针指向的仍为指针 一级指针:指针变量中存放目标变量的地址 void main() {int a[5]={1,3,5,7,9}’ int *num[5]={a[0], a[1], a[2], a[3], a[4]}; int **p,i; p=num; for(i=0;i5;i++) {printf(“%d”,**p); p++;} printf(“\n”);} 命令行:在操作系统状态下,为执行某个程序而键入的一行字符 命令行一般形式:命令名 参数1 参数2………参数n char name[5][9]={“gain”,“much”,“stronger”, “point”,“bye”}; char *name[5]={“gain”,“much”,“stronger”, “point”,“bye”}; g a i n \0 s t r o n g e r \0 p o i n t \0 m u c h \0 name[0] name[1] name[2] name[3] name[4] b y e \0 g a i n \0 s
您可能关注的文档
- [工学]2 大地测量基础知识.ppt
- [工学]1项目管理概论.ppt
- [工学]2 流水灯.ppt
- [工学]2 测控总线技术3-2_v09.ppt
- [工学]2 烷烃.ppt
- [工学]2 环境统计资料的收集、整理与显示.ppt
- [工学]2 第二章电路分析方法.ppt
- [工学]2+CATIA教程草图设计.ppt
- [工学]2-1 典型环节.ppt
- [工学]2 第二章 毒理学基本概念.ppt
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
文档评论(0)