C++中字符串以及数组和指针的互相使用讲解中字符串以及数组和指针的互相使用讲解
C++字符串与指针字符串与指针
在C++中可以用3种方法访问一个字符串(在第5章介绍了前两种方法)。
用字符数组存放一个字符串
【例】定义一个字符数组并初始化,然后输出其中的字符串。
#include <iostream>
using namespace std;
int main( )
{
char str[]="I love CHINA!";
cout<<str<<endl;
return 0;
}
运行时输出:
I love CHINA!
用字符串变量存放字符串
【例】定义一个字符串变量并初始化,然后输出其中的字符串。
#include <string>
#include <iostream>
using namespace std;
int main( )
{
string str="I love CHINA!";
cout<<str<<endl;
return 0;
}
用字符指针指向一个字符串
【例】定义一个字符指针变量并初始化,然后输出它指向的字符串。
#include <iostream>
using namespace std;
int main( )
{
char *str="I love CHINA!";
cout<<str<<endl;
return 0;
}
对字符串中字符的存取,可以用下标方法,也可以用指针方法。
【例】将字符串str1复制为字符串str2。
定义两个字符数组str1和str2,再设两个指针变量p1和p2,分别指向两个字符数组中的有关字符,通过改变指针变量的值使它
们指向字符串中的不同的字符,以实现字符的复制。
#include <iostream>
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;
}
运行结果为: