看看这段代码错在哪?解决方法

看看这段代码错在哪??#includeiostream.hvoidmain(){char*acin.getline(a,10, \n )cout a endl

看看这段代码错在哪??
#include   <iostream.h>
void   main()
{
char   *a;
cin.getline(a,10, '\n ');
cout < <a < <endl;
}

为什么输不出a???

[解决办法]
存储空间是否分配的问题,有各种方式来分配串空间
[解决办法]
char *a;
这是定义指针的形式.
cin.getline(a,10, '\n ')==cin> > a;
对吗??

[解决办法]
传入指针,没错传入的指针是告诉cin向哪里输入
只定义 char *a
那么a指向哪里?空间在哪里?
a内是什么?a本身的空间有多大?
明白了这几个问题自然就明白了
[解决办法]
补充:帮lz理解

char *a=new char[11];
cin.getline(a,10, '\n ');
cout < <a < <endl;