- 3
- 0
- 约2.39万字
- 约 62页
- 2016-12-28 发布于北京
- 举报
2000年1月25日 北京理工大学 / 第1节 指针及其引用 第2节 指针与函数 第3节 数组与指针 第4节 指针与字符串 第5节 指针数组 第6节 应用实例 例1 用函数实现交换两个变量的值。 void main ( ) { int a=5, b=10; /* 说明两个变量并赋初值 */ void swap(int,int); printf (before swap a=%d, b=%d\n, a, b); swap(a, b);/*用变量a和b作为实际参数调用函数 */ printf (after swap a=%d, b=%d\n, a, b);} void swap ( x, y) int x, y; { int temp;/*借助临时变量交换两个形参变量的值 */ temp=x; x=y; y=temp; printf (in swap x=%d, y=%d\n, x, y); } main 函数 { a = 5; b = 10; swap(a, b); } 例2 用函数交换两个变量的值。 #include stdio.h void main ( ) { int a, b; a = 5; b = 10; printf (brfort swap a=%d, b=%d\n, a, b); swap( a, b ); /* 实参为变量a和b的地址 */ printf (after swap a=%d, b=%d\n, a, b); } swap ( px, py ) int *px, *py; /* 形参为指向整型的指针 */ { int temp; /* 说明函数内部使用的临时变量 */ temp = *px; /* 将指针变量px的内容赋给变量temp */ *px = *py; /* 将指针py的内容赋给指针px的内容 */ *py = temp; /* 将变量temp的值赋给指针py的内容 */ printf (in swap x=%d, y=%d\n, *px, *py); } main 函数 { a = 5; b = 10; swap( a, b); } 3 数组与指针 在CC++中,凡是可以通过数组下标方式完成的访问(操作)均可以通过指针方式实现。称为指针方式。 3 数组与指针(续) 例5 分析程序的运行结果。 #include stdio.h void main ( ) { int a[ ] = { 1, 2, 3, 4, 5 } ; int x, y, *p; /* 指针变量 p */ p= a[0]; x= *(p+2); y= *(p+4); printf (*p=%d, x=%d, y=%d\n, *p, x, y); } 例 6 分析程序。 #include “stdio.h” void main( ) { int a[ ] = { 1, 2, 3, 4, 5 }; int *p; p=a; /* 指针p为数组的首地址 */ printf (%d, *p ); printf ( %d\n, *(++p) ); printf (%d, *++p ); printf ( %d\n, *(p--) ); p += 3; printf(%d %d\n, *p, *(a+3) ); } 例8 编写字符串复制函数。 void main( ) /*串复制*/ { char a[30], b[30]; printf(Enter string:); scanf (%s, a); strcopy ( a, b ); /* 调用函数的实参为数组名 */ printf (a=%s\nb=%s\n, a, b ); } strcopy ( str1, str2 ) /* 将串str1拷贝到串str2中 */ char * str1, * str2; /* 形参为指向字符的指针 */ { while ( *str2++ = *str1++); /* 通过指针操作数组 */ } strlen ( char * s ) /* 求串s的长度 */ { char *p = s; while ( *p ) /* 找到串结束标记\0 */ p++; return (
原创力文档

文档评论(0)