6.4字将串写指针 1.用字符数组存放一个字符串 例:定义一个字符数组并初始化,然后输出 其中的字符串。 #include using namespace std; int main() char str[]="I love CHINA!"; cout<<str<<endl; return O; }
6.4 字符串与指针 1. 用字符数组存放一个字符串 例: 定义一个字符数组并初始化,然后输出 其中的字符串。 #include using namespace std; int main( ) { char str[]=″I love CHINA!″; cout<<str<<endl; return 0; }
6.4字将串写指针 2.用字符串变量存放字符串 例:定义一个字符串变量并初始化,然后输 出其中的字符串。 #include #include using namespace std; int main( string str="I love CHINA!"; cout<<str<<endlj return O; }
6.4 字符串与指针 2. 用字符串变量存放字符串 例: 定义一个字符串变量并初始化,然后输 出其中的字符串。 #include #include using namespace std; int main( ) { string str=″I love CHINA!″; cout<<str<<endl; return 0; }
6,4字将串与指针 3.用字符指针指向一个字符串 例:定义一个字符指针变量并初始化,然后输 出它指向的字符串。 #include using namespace std; int main() char *str="I love CHINA!" cout<<str<<endl; return O; } 对字符串中字符的存取,可以用下标方法, 也可以用指针方法
6.4 字符串与指针 3. 用字符指针指向一个字符串 例:定义一个字符指针变量并初始化,然后输 出它指向的字符串。 #include using namespace std; int main( ) { char *str=″I love CHINA!″; cout<<str<<endl; return 0; } 对字符串中字符的存取,可以用下标方法, 也可以用指针方法
6,4字将串与指针 例:将字符串str1复制为字符串str2。 #include using namespace std int main() char str1[]="I love CHINA!", str2[20],*p1,*p2; p1=str1;p2=str2; for(*p1I=\0'p1++,p2++) *p2=*p1; *p2=\0: p1=str1ip2=str2; cout<<"str1 is:"<<p1<<endl; cout<<"str2 is:"<<p2<<endlj return O;
6.4 字符串与指针 例: 将字符串str1复制为字符串str2。 #include using namespace std; int main( ) { char str1[]=″I love CHINA!″, str2[20],*p1,*p2; p1=str1;p2=str2; for(;*p1!=′\0′;p1++,p2++) *p2=*p1; *p2=′\0′; p1=str1;p2=str2; cout<<″str1 is: ″<<p1<<endl; cout<<″str2 is: ″<<p2<<endl; return 0; }
6,5品数与指针 用函数指针变量调用函数 例:求a和b中的大者。先按一般方法写程序: #include using namespace std; int main() {int max(int x,int y); int a,b,m; cin>>a>>b;m=max(a,b); couty)z=xi else z=yi return(z);}
6.5 函数与指针 一、 用函数指针变量调用函数 例:求a和b中的大者。先按一般方法写程序: #include using namespace std; int main( ) {int max(int x,int y); int a,b,m; cin>>a>>b;m=max(a,b); couty) z=x; else z=y; return(z);}
6.5篇数写指针 定义指向max函数的指针变量的方法是: int (*p)(int,int); p所指向的函数的形参类型 p是指向函数的指针变量 指针变量p指向的函数的类型 请将它和函数max的原型作比较 int max(int,int); /max函数原型 指向函数的指针变量的一般定义形式为 函数类型(*指针变量名)(函数形参表): 现在将上面程序的主函数修改如下:
6.5 函数与指针 定义指向max函数的指针变量的方法是: int (*p) (int,int); p所指向的函数的形参类型 p是指向函数的指针变量 指针变量p指向的函数的类型 请将它和函数max的原型作比较 int max(int,int); //max函数原型 指向函数的指针变量的一般定义形式为 函数类型 (*指针变量名)(函数形参表); 现在将上面程序的主函数修改如下:
6.5晶数与指针 max #include p using namespace std; 指令1 int main() 指令2 int max(int x,int y) int (*p)(int,int); int a,b,m; p=max; cin>>a>>bi m=p(a,b); cout<<"max="<<m<<endlj return O; }
6.5 函数与指针 #include using namespace std; int main( ) {int max(int x,int y); int (*p)(int,int); int a,b,m; p=max; cin>>a>>b; m=p(a,b); cout<<″max=″<<m<<endl; return 0; }
6.5篇数写指针 二 用指向函数的指针作函数参数 用途:将函数名传给其他函数的形参。 例如,利用这种方法可以编写一个求定积分的 通用函数,用它分别求5个函数的定积分: 心+x)dk,2x+3)k(e*+0,1+x2k心xdk 每次需要求定积分的函数是不一样的。 可以编写一个求定积分的通用函数integral, 它有3个形参:下限a、上限b,以及指向函数的 指针变量fun
6.5 函数与指针 二、 用指向函数的指针作函数参数 用途:将函数名传给其他函数的形参。 例如,利用这种方法可以编写一个求定积分的 通用函数,用它分别求5个函数的定积分: 每次需要求定积分的函数是不一样的。 可以编写一个求定积分的通用函数integral, 它有3个形参: 下限a、上限b,以及指向函数的 指针变量fun。 x dx x dx e dx x dx x dx b a b a b a x b a b a + + + + 2 3 (1 ) , (2 3) , ( 1) , (1 )
6.5晶熬与指针 函数原型可写为 double integral (double a,double b,double (*fun)(double)); 分别编写5个函数1,f2,3,f4,5,用 来求上面5个函数的值。然后先后调用integrali函 数5次,每次调用时把a,b以及f1,f2,3,4, 5之一作为实参,即把上限、下限以及有关函 数的入口地址传送给形参fun。在执行integral函 数过程中求出各函数定积分的值。 在面向对象的C++程序设计中,这种用法 就比较少了
6.5 函数与指针 函数原型可写为 double integral (double a,double b,double (*fun)(double)); 分别编写5个函数f1,f2,f3,f4,f5, 用 来求上面5个函数的值。然后先后调用integral函 数5次,每次调用时把a,b以及f1,f2,f3,f4, f5之一作为实参,即把上限、下限以及有关函 数的入口地址传送给形参fun。在执行integral函 数过程中求出各函数定积分的值。 在面向对象的C++程序设计中,这种用法 就比较少了
6.6道回指针值的篇数 一个函数可以带回一个整型值、字符值、实型 值等,也可以带回指针型的数据,即地址。 返回指针值的函数简称为指针函数。 定义指针函数的一般形式为 类型名*函数名(参数表列); 例如 int *a(int x,int y);
6.6 返回指针值的函数 一个函数可以带回一个整型值、字符值、实型 值等,也可以带回指针型的数据,即地址。 返回指针值的函数简称为指针函数。 定义指针函数的一般形式为 类型名 *函数名(参数表列); 例如 int *a(int x,int y);