C语言程序设计信息科学与技术学院 1第 12 讲指针(2) ---- 字符串指针、指针函数主讲教师: 刘丹 email: liudanld@ QQ :630622830 信息科学与技术学院 C语言程序设计 22 主要内容指针应用举例 4 指针与字符串 1指针与函数 2重点重点指针与函数难点难点指针与函数本讲小结指针数组 3信息科学与技术学院 C语言程序设计 3 1 指针与字符串(1) 字符串的表示形式?用字符数组存放一个字符串,并输出该字符串。 main() { char string[ ]="I love China!"; cout <<string; } 信息科学与技术学院 C语言程序设计 4 1 指针与字符串(2) 字符串的表示形式(续) ?用字符串指针指向一个字符串 main() { char * string1="I love China!"; cout <<string1; } 信息科学与技术学院 C语言程序设计 5 1 指针与字符串(3) 字符串的表示形式(续) 例1 写出下面程序的运行结果#include < > void main() { char * ptr1, * ptr2; ptr1=ptr2=" abcde "; while( * ptr2!='\0') putchar (* ptr2++); putchar('\n '); while(--ptr2>=ptr1) putchar (* ptr2); putchar('\n '); } 运行结果: abcde edcba 信息科学与技术学院 C语言程序设计 6 1 指针与字符串(4) 使用字符串指针变量与字符数组的区别①字符数组由若干元素组成,每个元素中放一个字符, 而字符指针变量中存放的是地址(字符串的首地址)。②赋值方式不同。对字符数组只能对各个元素赋值, 不能用一个字符串给一个字符数组赋值,但对于字符指针变量可以用一个字符串给它赋值。 char str[14]; str =“ I love China ”; char * pstr ; pstr =“ I love China ”;√信息科学与技术学院 C语言程序设计 7 1 指针与字符串(5) 使用字符串指针变量与字符数组的区别(续) 例2 分析下面程序的运行结果 main() { char * a="I Love China!"; a=a+7; cout <<a; } 运行结果: China! 信息科学与技术学院 C语言程序设计 8 1 指针与字符串(6) 使用字符串指针变量与字符数组的区别(续) 例3 分析下面程序的运行结果 main() {char * a="I Love China!"; int i; cout <<"the sixth character is “<<a[5]<< endl ; for(i =0;a[i]!='\0';i++) cout << a[i ];} 运行结果: the sixth character is e I Love China! 返回主菜单信息科学与技术学院 C语言程序设计 9 2 指针与函数(1) 指针变量作为函数参数指针变量作为函数参数,实参变量和形参变量的传递方式为地址传递 void swap1(int x,int y) { int z; z=x; x=y; y=z; } void swap2(int * x,int * y){ int z; z= * x;* x= * y;* y=z; } 值传递地址传递信息科学与技术学院 C语言程序设计 10 2 指针与函数(2) 指针变量作为函数参数(续) 例4 程序填空,然后分析运行结果。(输入 5,6) #include < > main() { int a,b ; void swap1(int x,int y); void swap2(int * x,int * y); cin >>a>>b; cout <<"a= “<<a<< “ b= “<<b<< endl ; swap1( ); cout <<"a= “<<a<< “ b= “<<b<< endl ; swap2( ); cout <<"a= “<<a<< “ b= “<<b<< endl ; } 运行结果: a=5 b=6 a=5 b=6 a=6 b=5
讲 字符串指针、指针函数 来自淘豆网www.taodocs.com转载请标明出处.