《C语言教程》课程PPT教学课件:数组与指针的自定义

数组与指针 ·用数组名作为函数的参数 1如果是自定义函数中是使用的数组作 为函数的参数,则实参向函数中传递的 是数组的首地值,那意味着对形参的改 变就会影响到实参的改变 2如果自定义函数中是使用的普通变量 作为函数的参数,则实参向函数中传递 的仅仅是实参的值,那么意味着形参值 的改变将不会对实参的值造成影响
数组与指针 • 用数组名作为函数的参数 1.如果是自定义函数中是使用的数组作 为函数的参数,则实参向函数中传递的 是数组的首地值,那意味着对形参的改 变就会影响到实参的改变 2.如果自定义函数中是使用的普通变量 作为函数的参数,则实参向函数中传递 的仅仅是实参的值,那么意味着形参值 的改变将不会对实参的值造成影响

数组与指针(程序一) #include ●# include ●# define n10 void swaparr(int array l [l, int number) e void swapval (int x, int y) void input(int array l [, int number) e void input(int array l[, int number int*p; p=array l printf("please input %d numbersIn" N)
数组与指针(程序一) #include #include #define N 10 void swaparr(int array1[],int number); void swapval(int x,int y); void input(int array1[],int number); void input(int array1[],int number) { int *p; p=array1; printf("please input %d numbers\n",N);

数组与指针(程序一) for( p<array 1+number p++) scanf("%od"p) void swaparr(int array l[l, int number) Int 1, temp if(number%02)==0) for(i=0; i<=(number-2)/2; 1++)
数组与指针(程序一) for(;p<array1+number;p++) { scanf("%d",p); } } void swaparr(int array1[],int number) { int i,temp; if((number%2)==0) { for(i=0;i<=(number-2)/2;i++)

数组与指针(程序一) temp=array arrayli=array lnumber-1-1 array lnumber-1-ilFtemp f(number%2)=0) for(i=0; i<(number-1)/2; 1++) temp=array l1 array[i=array [number-1-1
数组与指针(程序一) { temp=array1[i]; array1[i]=array1[number-1-i]; array1[number-1-i]=temp; } } if((number%2)!=0) { for(i=0;i<(number-1)/2;i++) { temp=array1[i]; array1[i]=array1[number-1-i];

数组与指针(程序一) array[N-1-i]=temp 1)1 e void swapval(int x,int y) Int temp temp=X X-y y=temp
数组与指针(程序一) array1[N-1-i]=temp; } } } void swapval(int x,int y) { int temp; temp=x; x=y; y=temp; }

数组与指针(程序一) main( e int arrayN,p, xl,y=2; p-array nput(p, N) lr printi("交换前数组中的值:mn"); for(p=array p<array+N; p++) printf(%3d,*p) printf("n;
数组与指针(程序一) main() { int array[N],*p,x=1,y=2; p=array; input(p,N); printf("交换前数组中的值:\n"); for(p=array;p<array+N;p++) { printf("%3d",*p); } printf("\n");

=数组与指针(程序一) p=aray,∥上面的循环已经将指针指向了别的元素,而 非第一个元素 swaparr(p, N) p=aray;∥'上面的循环已经将指针指向了别的元素, 而非第一个元素 print("交换后数组中的值:in"); for(p=array; p<array+N; p++) printf( %3d"*p) printf("n printi("交换前xy中的值:in")
数组与指针(程序一) p=array; //上面的循环已经将指针指向了别的元素,而 非第一个元素 swaparr(p,N); p=array; //上面的循环已经将指针指向了别的元素, 而非第一个元素 printf("交换后数组中的值:\n"); for(p=array;p<array+N;p++) { printf("%3d",*p); } printf("\n"); printf("交换前x,y中的值:\n");

数组与指针(程序一) printf( %03d, %03d,y); rin ntf("n") swapval(ⅹ2y) printi"交换后xy中的值:in"); printf(%03d, %"x,y) printf("n); system (pause) 预测上述程序的输出结果
数组与指针(程序一) printf("%3d,%3d",x,y); printf("\n"); swapval(x,y); printf("交换后x,y中的值:\n"); printf("%3d,%3d",x,y); printf("\n"); system("pause"); } 预测上述程序的输出结果

数组与指针 上述程序中应注意的问题: 1如果用户自定义函数中的形参是数 组,则实参中可以添数组名,也可以填 个指针变量,该指针变量指向数组的 首地址 例如: Int array[0]*p; p-=array, swaparr(p, 10) 等价于: swaparr(array,10)
数组与指针 • 上述程序中应注意的问题: 1.如果用户自定义函数中的形参是数 组,则实参中可以添数组名,也可以填 一个指针变量,该指针变量指向数组的 首地址 例如:int array[10],*p; p=array; swaparr(p,10); 等价于: swaparr(array,10);

数组与指针 2.在每次使用指针的时候一定要将指针 复位,也就是重新将指针指向数组的首 地址,程序中多次对指针进行复位 例如: Int array[10J*p; p-array, input(p, 10) p-=array, swaparr(p, 10)
数组与指针 2.在每次使用指针的时候一定要将指针 复位,也就是重新将指针指向数组的首 地址,程序中多次对指针进行复位 例如:int array[10],*p; p=array; input(p,10); p=array; swaparr(p,10);
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言教程》课程PPT教学课件:多维数组与指针.ppt
- 《C语言教程》课程PPT教学课件:数组与指针.ppt
- 《C语言教程》课程PPT教学课件:C程序设计For循环.ppt
- 《C语言教程》课程PPT教学课件:选择结构程序设计.ppt
- 《C语言教程》课程PPT教学课件:指针与函数.ppt
- 《DWDM培训原理》教材PPT课件讲解.doc
- 《C语言教程》课程教学资源(教案讲义)程序设计及应用实例(共十一章).pdf
- 《C语言教程》课程教学资源(教案讲义)第十章 指针.doc
- 《C语言教程》课程教学资源(教案讲义)第十三章 文件.doc
- 《C语言教程》课程教学资源(教案讲义)第十一章 结构和共同体.doc
- 《C语言教程》课程教学资源(教案讲义)第六章 循环控制设计.doc
- 《C语言教程》课程教学资源(教案讲义)第九章 编译预处理.doc
- 《C语言教程》课程教学资源(教案讲义)第八章 函数.doc
- 《C语言教程》课程教学资源(教案讲义)第五章 顺序结构程序设计.doc
- 《C语言教程》课程教学资源(教案讲义)第二章 C语言程序设计概述.doc
- 《C语言教程》课程教学资源(教案讲义)第三章 数据描述与基本操作.doc
- 《C语言教程》课程教学资源(教案讲义)第七章 数组.doc
- 《C语言教程》课程教学资源(教案讲义)第一章 计算机程序高设计与算法.doc
- 《FTP服务器端软件Serv-U教程》教学资源(讲义)第四节 Serv-U用户属性之“General”(常用).doc
- 《FTP服务器端软件Serv-U教程》教学资源(讲义)第六节 Serv-U用户属性之完结.doc
- 《C语言教程》课程PPT教学课件:指针的各种定义.ppt
- 《C语言教程》课程PPT教学课件:指针作为函数参数.ppt
- 《C语言教程》课程PPT教学课件:指针是C语言中重要的概念.ppt
- 《C语言教程》课程PPT教学课件:循环控制.ppt
- 《C语言教程》课程PPT教学课件:二维数组的定义.ppt
- 《C语言教程》课程PPT教学课件:变量存储类别.ppt
- 《C语言教程》课程PPT教学课件:程序设计中的函数.ppt
- 《C语言教程》课程PPT教学课件:预处理命令.ppt
- 《C语言教程》课程PPT教学课件:字符数组的元素.ppt
- 《C语言教程》课程PPT教学课件:数组作为函数参数.ppt
- 《C语言教程》课程PPT教学课件:内部函数和外部函数.ppt
- 《C语言教程》课程PPT教学课件:局部变量和全局变量.ppt
- 《C语言教程》课程PPT教学课件:函数调用的一般形式.ppt
- 《C语言教程》课程PPT教学课件:数组的数据的集合.ppt
- 《C语言教程》课程教学资源:课堂笔记.doc
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第一章 软件危机与软件工程.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第七章 编码.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第九章 软件维护.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第二章 软件生命周期及软件开发模式.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第五章 总体设计.ppt