问下gcc查指针初始化的有关问题

问下gcc查指针初始化的问题
下面这段代码指针没有初始化但是在gcc下面运行通过了,是用的CodeBlock里的gcc编译器,在VS2010里面是报错的。一般来说都应该报错吧,麻烦大家在你们的环境下运行看看是什么情况。
C/C++ code
#include <iostream>
#include <cstring>
#include <cstdio>

using namespace std;

int main()
{
    char str[30];
    char* ps;
    cin >> ps;
    cout << ps;
    return 0;
}



------解决方案--------------------
codeblocks,g++版本为4.6.2,会有警告
------解决方案--------------------
这个和你使用的编译器版本 命令行有关

我觉得会有个警告

vc2010应该也是警告而不是错误

除非用把警告识别为错误的编译开关

类似的,gcc使用-Wall -Werror才会报错
------解决方案--------------------
int main()
{
char str[30];
char* ps;
cin >> ps;
cout << ps;
return 0;
}

ps没有分配过内存,怎么可以cin呢。