- 3
- 0
- 约9.22千字
- 约 40页
- 2022-12-07 发布于北京
- 举报
指针的基本运算-指针之间的关系运算 两个指针之间的关系运算 当两个指针指向同一个数组中的元素时,才能进行 、、=、=、!=、== 关系运算。 p q:若 p 所指的元素在q所指的元素之前(元素的下标较小),则表达式成立;反之,则不成立。 p==q:若指针 p、q 指向同一个元素,则表达式成立;反之,则不成立。 p!=q:若指针 p、q 指向不同的元素,则表达式成立;反之,则不成立。 指针的基本运算-串反向 例C9-6.C:编写函数,实现串反向。 revstr ( char * s ) /* 将串s反向 */ { char *p=s, c; while ( *p ) /* 等价:*p!= \0 */ p++; /* 找到串结束标记 \0 */ p--; /* 指向串的最后 1个字符 */ while ( s p ) { c = *s; /* 交换两个指针所指字符 */ *s++ = *p; /* 先赋值再移动指针 s */ *p-- = c; } } 例C9-6 指针的基本运算-指针之间的减法运算 两个指针之间的减法运算 当两个指针指向同一数组中的元素时,才能进行指针间的减法运算;当两个指针分别指向不同数组的元素时,无意义。 当两个指针指向同一数组中的元素时,p-q 的物理意义是:指针p 和q 之间包含的元素的数量。 指针的基本运算-求串长 例C9-7.C:编写函数,求字符串的长度。 strlen( char * s ) /* 求串s的长度 */ { char *p = s; while ( *p ) p++; /* 找到串结束标记\0 */ return ( p - s ); /* 两个指针相减法,求出串长 */ } 例C9-7 s p =s+6 串长=6 while ( *p++ ) ; return ( p-s-1 ); 数组与指针-指针数组 指针数组 数组元素均为指针,称为指针数组。 说明形式: 数据类型 * 数组名[常量表达式] 例如:int * pa[6]; 指针数组 pa 是包含 6个 元素的数组,数组中每个元素为指向整型的指针。 整数 整数 整数 整数 整数 整数 pa[0] pa[1] pa[2] pa[3] pa[4] pa[5] 指针数组pa *pa[0] *pa[1] *pa[2] *pa[3] *pa[4] *pa[5] 数组与指针-数组指针 数组指针 指向数组的指针称为数组指针。 说明形式: 数据类型 (* 指针变量名)[常量表达式]; 例如:int ( * pb )[6]; 数组指针 pb 指向一个数组,该数组是一维的有6个元素的整型数组。 (*pb)[0] (*pb)[1] (*pb)[2] (*pb)[3] (*pb)[4] (*pb)[5] pb 数组与函数-传递多维数组 例:给定日期,计算该天是一年中的第几天。 int main( ) { static int day_tab[2][13] = { { 0,31,28,31,30,31,30,31,31,30,31,30,31}, { 0,31,29,31,30,31,30,31,31,30,31,30,31}}; int y,m,d; int day_of _year( ); scanf (%d%d%d, y, m, d); printf(%d\n,day_of_year(day_tab, y,m,d)); return 0; } 例C8-6 0 1 2 3 4 5 6 7 8 9 10 11 12 0 31 28 31 30 31 30 31 31 30 31 30 31 0 0 31 29 31 30 31 30 31 31 30 31 30 31 1 数组与函数-传递多维数组 int day_of_year ( d_tab, year, month, day ) int d_tab[ ][13]; // 二维数组 int year, month, day; { int i,j; i=(year%4==0year%100!=0 )||year%400==0; for ( j=1; jmonth; j++ ) day += d_tab[i][j]; return day; } 例C8-6 0 1 2 3 4 5 6 7 8 9 10 11 12 0 31 28 31 30 31 30 31 31 3
您可能关注的文档
- 北京理工大学《C语言程序设计3》课件-第8章函数.ppt
- 北京理工大学《C语言程序设计4》课件-第七章数组.ppt
- 北京理工大学《C语言程序设计4》课件-第三章 数据类型和运算规则 (1).ppt
- 北京理工大学《C语言程序设计4》课件-第九章 指针.ppt
- 北京理工大学《C语言程序设计4》课件-第二章 C语言概述.ppt
- 北京理工大学《C语言程序设计4》课件-第五章 选择结构的程序设计.ppt
- 北京理工大学《C语言程序设计4》课件-第八章 函数.ppt
- 北京理工大学《C语言程序设计4》课件-第六章 循环结构的程序设计.ppt
- 北京理工大学《C语言程序设计4》课件-第十章 结构、联合与枚举类型.ppt
- 北京理工大学《C语言程序设计5》课件-第4章算法.pptx
原创力文档

文档评论(0)