第8章_指针3资料
指针汇总: int *p; char *p; int **p; char *p[] char (*p)[4] int (*p)(int,int) int *p(int,int) 作业: 分析、理解第八章例题 例8.24 将若干字符串按字母顺序(由小到大)输出。 #include stdio.h #include string.h void main() {void sort(char *name[ ],int n); void print(char *name[ ],int n); char *name[ ]={Follow me,BASIC,Great Wall,FORTRAN,Computer design}; int n=5; sort(name,n); print(name,n); } void sort(char *name[ ],int n) {char *temp; int i,j,k; for(i=0;in-1;i++) {k=i; for(j=i+1;jn;j++) if(strcmp(name[k],name[j])0) k=j; if(k!=i) {temp=name[i]; name[i]=name[k]; name[k]=temp; } } } void print(char *name[ ],int n) {int i; for(i=0;in;i++) printf(%s\n,name[i]); } 8.7.2 指向指针数据的指针 定义一个指向指针数据的指针变量: char**p; 例8.25 使用指向指针数据的指针变量 #include stdio.h void main() {char *name[]={Follow me,BASIC,Great Wall,FORTRAN,Computer design}; char **p; int i; for(i=0;i5;i++) {p=name+i; printf(%s\n,*p); } } 例8.26 一个指针数组的元素指向整型数据的简单例子 #include stdio.h 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); } 8.8 动态内存分配与指向它的指针变量 8.8.1 什么是内存的动态分配 前面介绍过全局变量和局部变量,全局变量是分配在内存中的静态存储区的,非静态的局部变量(包括形参)是分配在内存中的动态存储区的,这个存储区是一个称为栈(stack)的区域。除此以外,C语言还允许建立内存动态分配区域,以存放一些临时用的数据,这些数据是临时存放在一个的特别的自由存储区,称为堆(heap)区。 8.8.2 怎样建立内存的动态分配 对内存的动态分配是通过系统提供的库函数来实现的,主要有以下4个函数: (1) malloc 函数原型为 void *malloc(unsigned int size); 作用是在内存的动态存储区中分配一个长度为size的连续空间。 (2) calloc函数 函数原型为 void *calloc(unsigned n,unsigned size ); 作用是在内存的动态存储区中分配n个长度为size的连续空间。 8.8.2 怎样建立内存的动态分配 (3) free函数 函数原型为 void free(void *p); 作用是释放由指针变量p指向的动态空间,使这部分空间能被其他变量使用。 (4) realloc函数 函数原型为 void *realloc(void *p,unsigned int size); 如果已经通过malloc函数或calloc函数获得了临时分配域,想改变函数其大小,可以用recalloc函数重分配。 例8.27 建立动态数组,输入5个学生的成绩,另外用一个 函数检查其中有无低于60分的,输出不合格的成绩。 #include stdio.h #include stdlib.h void main() { void check(int *); int *p1,i; void *p
您可能关注的文档
- 屈子文化课程基地申报.ppt
- 第7课百日维新.ppt
- 第7课计算机资源及安装.ppt
- 第8章+UG编程+等高铣削.ppt
- 第8章-WinCC开发软件简介.ppt
- 山东大学威海JAVA复习答案姜海宁.docx
- 第8章-Android网络通信.ppt
- 山东建筑大学BPSK调制.doc
- 山东理工拖拉机构造复习题.doc
- 山东建筑大学工程项目管理1.ppt
- 广东省广州省实验中学教育集团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)