string转char数组

如何才能把一个string型中的每一个字母存到一个char a[]中····并且能够输出a[5]是什么字母····
用第二种方法能行···第一种不行,最后的p【1】不能输出,内存分配有问题·····
#include <iostream>
#include <string>

using namespace std;

int main(const char* p)
{
string sentence;

cout<<"please input your sentence:";
cin>>sentence;

int i=sentence.length();
cout<<i<<'\n';
p=sentence.c_str();
cout<<p[1];
return 0;
}
char a[10];
string str="hello";
for(int i=0;i<10;i++)
a[i]=s.c_str()[i];

/*********************/
或者用字符串常亩含仔量
const char *a;/迅汪老兆*因为str.c_str()返回值是const char* 类型的*/
string str="hello";
a=str.c_str();
char
a[10];
string
str="hello";
for(int
i=0;i<10;i++)
a[i]=s.c_str()[i];
/*********************/汪雀消
或者用
字符困知串常量
const
char
*a;/*因为str.c_str()
返回值
是岁汪const
char*
类型的*/
string
str="hello";
a=str.c_str();
循环