c++ 字符串数组 的使用问题。

char* p = new char [100];
char a = 'a';
p[0] = &a;
p[1] = &a;

想问下这样为啥是错的,还想问下这时候指针p可以干啥

p定义的是一个指针,指向char类型指向100个连续的char数据(数据是在堆中创建出来的),每个数据占一个字节。
p指向的地址可以接收100个字符,地址存数据方式p="123-/:;()",数据拷贝形式存数据p【1】=0(手机单引号没找,接收0可以不用)。
你采用数据拷贝形式接收数据 却接收的是数据地址 ,把=后面的&去掉 ,这样接收的是值。

p是char数组而不是char指针数组

不明其理,希望能得到更详细的解释,书上没有找到为啥