如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
内容提要为什么引入指针的概念计算机内的存储部件,所有指令和数据都保存在内存里速度快,但是掉电即失可以随机访问只要指明要访问的内存单元的地址,就可以立即访问到该单元地址是一个无符号整数,其字长一般与主机相同内存中的每个字节都有唯一的一个地址地址按字节编号,按类型分配空间寻址方式指针(Pointer)的概念如何定义指针变量?inti,*p;p=&i;&与*操作符指针变量与其它类型变量的对比指针的指向指针运算指针运算指针运算指针运算指针与函数voidSwap(int*x,int*y){inttemp;temp=*x;*x=*y;*y=temp;}主调函数主调函数简单变量作函数参数与指针变量作函数参数的比较swap函数的几种错误形式(1/3)swap函数的几种错误形式(2/3)swap函数的几种错误形式(3/3)字符串与字符数组、字符指针字符指针变量与字符数组的区别使用字符指针的注意事项例:字符串拷贝——用字符数组编程voidMyStrcpy(char*dstStr,constchar*srcStr){while(*srcStr!='\0'){*dstStr=*srcStr;srcStr++;dstStr++;}*dstStr='\0';}例计算实际字符个数指针与数组输入输出数组的全部元素指针与二维数组例#include<string.h>main(){inti,pos;intfindFlag=0;charx[10];charweekDay[][10]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};printf("Pleaseenterastring:");scanf("%s",x);for(i=0;i<7&&!findFlag;i++){if(strcmp(x,weekDay[i])==0){pos=i;findFlag=1;}}if(findFlag)printf("%sis%d\n",x,pos);elseprintf("Notfound!\n");}指针与二维数组指针与二维数组指针与二维数组例:在一个班级中找出最高分及其学号例在一个班级中找出最高分及其学号例7.9:在多个班级中找出最高分及其所在班级和学号intFindMax(int*p,intm,intn,int*pRow,int*pCol){inti,j,max;max=p[0];*pRow=0;*pCol=0;for(i=0;i<m;i++){for(j=0;j<n;j++){if(p[i*n+j]>max){max=p[i*n+j];*pRow=i;*pCol=j;}}}return(max);}指针、数组以及其它的类型混合指针数组例例例字符串按字典顺序排序—二维数组编程例字符串按字典顺序排序—指针数组编程命令行参数(知道)例演示命令行参数与main函数各形参之间的关系动态分配内存动态数组这一章我们学习了