c语言_ch08_6_指针数组与多重指针 动态内存分配

c语言_ch08_6_指针数组与多重指针 动态内存分配

ID:1480004

大小:713.00 KB

页数:43页

时间:2017-11-11

c语言_ch08_6_指针数组与多重指针 动态内存分配_第1页
c语言_ch08_6_指针数组与多重指针 动态内存分配_第2页
c语言_ch08_6_指针数组与多重指针 动态内存分配_第3页
c语言_ch08_6_指针数组与多重指针 动态内存分配_第4页
c语言_ch08_6_指针数组与多重指针 动态内存分配_第5页
资源描述:

《c语言_ch08_6_指针数组与多重指针 动态内存分配》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2021/6/121上一节我们学到了函数指针和指针函数2021/6/122第8章善于利用指针8.1指针是什么8.2指针变量8.3通过指针引用数组8.4通过指针引用字符串8.4.1字符串的引用方式8.4.2字符指针作函数参数8.4.3使用字符指针变量和字符数组的比较8.5指向函数的指针8.6返回指针值的函数8.7指针数组和多重指针8.8动态内存分配与指向它的指针变量8.9有关指针的小结本节内容指针数组pointerarray多重指针int**带参的main动态内存分配void*的引用和赋值野指针(悬挂指针)与指针相关的编程规则2021/6/124指

2、针数组指针数组指针组成的数组例如:int*p[4]由于[]比*优先级高,因此p首先与[]结合,即p是数组,4个元素分别为p[0]、p[1]、p[2]、p[3]。数组每个元素的类型是int*。2021/6/125指针数组举例例如,图书馆有若干本书(图a),要求对这些书目进行排序和查询。表示多个字符串的两种数据结构二维字符数组,图bcharnames[5][50];缺点,空间复杂度字符指针数组,图cchar*names[50];#includeintmain(){inti;char*arr[4]={"C","C++","Java",

3、"VBA"};for(i=0;i<4;i++)printf("AddressofString%d:%u",i+1,arr[i]);return0;}VBAJavaC++C03C04304204104003F03E03D04404B04A04904804704604504F04E04D04C0x0042204C0x004220480x004220400x0042203C2021/6/127arrchar*arr[4]={"C","C++","Java","VBA"};CC++VBAJava20

4、21/6/129例8.27将若干字符串按字母顺序(由小到大)输出。#include#includevoidsort(char*names[],intn);voidprint(char*names[],intn);intmain(){char*names[]={ "Followme","BASIC","GreatWall","FORTRAN","ComputerDesign"};intn=sizeof(names)/sizeof(names[0]);sort(names,n);print(names,n);}2

5、021/6/1210voidsort(char*names[],intn)//选择法排序{char*temp;inti,j,k;for(i=0;i0)k=j;}if(k!=i){temp=names[i];names[i]=names[k];names[k]=temp;}}}2021/6/1211voidprint(char*names[],intn){inti;for(i=0;i

6、)printf("%s",names[i]);}运行结果为:BASICComputerDesignFORTRANFollowmeGreatWall2021/6/12128.7.2指向指针的指针指向指针数据的指针变量,简称为指向指针的指针。2021/6/1213指向指针的指针的定义char**p;*运算符的结合性是从右到左,因此**p相当于*(*p)(*p)前面部分是char*,表明p是指向char*(即一个字符指针变量)的指针变量。2021/6/1214*p就是p所指向的那个指针变量,例p=name+2;printf("%x",*p);p

7、rintf("%s",*p);2021/6/1215例8.28使用指向指针的指针输出各字符串。intmain(){char*name[]={"Followme","BASIC","GreatWall","FORTRAN","ComputerDesign"};char**p;inti;for(i=0;i<5;i++){p=name+i;printf("%s",*p);}}2021/6/1216例8.29一个指针数组的元素指向整型数据的简单例子intmain(){inta[5]={1,3,5,7,9};int*num[5]={&a[0],&a

8、[1],&a[2],&a[3],&a[4]};int**p,i;p=num;for(i=0;i<5;i++){printf("%dt"

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。