Lecture 18 Pointers(2 of 3)
Dept.of Computer Sci. Tech.,YBU 向函数传递一维数组信息 参数传递示例 数组与指针 main() { int a[10]; m=func(a, 10); … } int func(int *p, int n) ? int func(int p[ ], int n) { … } 由于此函数不知道数组a的长度,元素个数必须通过参数传递给n … a[0] a[1] a[2] … a[9] p 数组a在main中可见,在func中不可见 变量p在func中可见,在main中不可见 函数func中可通过指针p存取该数据区域 形参数组名p是指针,是变量而不是常量! * Dept.of Computer Sci. Tech.,YBU 向函数传递一维数组信息 参数传递示例 数组与指针 main() { int a[10]; m=func(a+1, 2); … } int func(int *p, int n) /* ? int func(int p[ ], int n) */ { … } … a[0] a[1] a[2] … a[9] p 通过指针变量p和形参n函数func可对main中的a[1],a[2]进行操作 * 把a+1传给p,而不是*p ? a 示例-1:对具有n个元素的数组元素进行升序排序 算法思想 数组与指针 5 3 6 2 4 2 3 6 5 4 2 3 6 5 4 2 3 4 5 6 i==0 m==3 i==1 m==1 i==2 m==4 i==n-2 m==3 n==5 * Dept.of Computer Sci. Tech.,YBU Dept.of Computer Sci. Tech.,YBU 示例-1:主函数 数组与指针 #include stdio.h void sort(int *, int); int min(int *, int, int); void swap(int *, int *); main() { int i, a[10]; for (i=0; i10; i++) scanf(”%d”, a+i); /*对a[0],a[1],…,a[9]升序排序*/ sort(a, 10); for (i=0; i10; i++) printf(”%d”, a[i]); } … a[0] a[1] a[2] … a[9] a 定义并输入数据 数据排序 输出数据 * Dept.of Computer Sci. Tech.,YBU 示例-1:函数sort 原型:void sort(int *p, int n); 功能:对p所指数组的n个元素进行升序排序 数组与指针 void sort(int *p, int n) /* ? void sort(int p[ ], int n) */ { /* 对p[0],p[1],…,p[n-1]进行升序排序 */ for(i=0; i=n-2; i++) { 确定p[i], p[i+1], …, p[n-1]中最小元素的下标m ; if (m!=i) 交换p[i]与p[m]的值 ; } } … p[0] p[1] p[2] … p[n-1] a[0] a[1] a[2] … a[9] main: p sort: * 交给函数min 交给函数swap a Dept.of Computer Sci. Tech.,YBU 示例-1:函数min 原型:int min(int *b, int n, int i); 功能:求指针b所指的数组(共n个元素)第i个元素起最小元素的下标 数组与指针 int min(int *b, int n, int i) /* ? int min(int b[ ], int n, int i) */ { /*在b[0],b[1],…,b[n-1]中求b[i]~b[n-1]之间最小元素的下标*/ int m, k; for(m=i, k=i+1; kn; k++) if (b[k]b[m]) m=k; return m; } … … p[0] … p[i] … p[n-1] a[0] … a[i] … a[9] main: p sort: b min: b[0] … b[i] … b[n-1] * a 数组与指针 Intelligent Information Processing Lab., Dept.of Computer Sci. Tech.,YBU 示例-1:函数swap 原型:void swap(int *p, int *q); 功能:交换指针p和
您可能关注的文档
- 广东省汕头市2014届高三年级期末调研考试数学理试题.doc
- 4.5.1.3-Insulation for Piping.doc
- Promotion !.doc
- 阿曼材料清单.doc
- MV Circuit Breaker Switchgear 38 kV.doc
- unit2 danci).ppt
- 岗位流程(1-20).doc
- 重庆市开县2015届九年级下学期联考学校第二次学情调查(中期考试)数学试题(含答案).doc
- 高二 结课考试.doc
- 高二英语选修8 module 1教案2.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 雷克萨斯-Lexus NX-产品使用说明书-NX200-ZGZ10L-AWXLPC2-NX200NX200t_OM78064C_01-1412-001.pdf VIP
- 小学语文五年级第二学期第二单元整体作业设计.docx
- 外研版小学英语(三年级起点)三年级上册Module2-Unit1同步检测.doc VIP
- 2025年河南省平顶山市中考生物试卷(含答案).pdf
- 【TD产业联盟】全球5G_6G产业发展报告(2024-2025).pdf VIP
- 乡镇卫生院年休假制度.docx VIP
- 职业技术教育教学管理新制度学分制.doc VIP
- 健康生活小常识100条.docx VIP
- 职业学校学分制实施细则.docx
- AP微观经济学 2010年真题 附答案和评分标准 AP Microeconomics 2010 Real Exam with Answers and Scoring Guidelines.pdf VIP
原创力文档

文档评论(0)