第一种就是字符数组
#include<iostream>
using namespace std;
int main ()
{char str1[10];
cin>>str1;
cout<<*(a+1)<<endl;
cout<<a[1];
}
输入:abc
输出
类似于数组可以a[1]也可以通过地址*(a+1)输出
用字符指针管理串
实际应用中,字符串长度变化很大,将字符指针作为串地址,为管理串提供了方便。
#include <iostream>
using namespace std;
int main()
{ char *s=new char[80]; //动态存储
cin>>s;
cout<<*(s+1)<<endl;
cout<<s;
}
二者区别
通过字符指针char *p="good"存放于常量区,为静态存储区,通过指针只可访问不能改变
通过字符数组char a[20]=good;存放于栈中,可以通过指针访问和修改