Why does that work?
#include
using namespace std;
int main() {
float* tab[3];
int i = 0;
while(i < 3) {
tab[i] = ne
While the other answers, with the exception of Mark's, are not wrong they are not exactly right either. What you are doing by accessing data past the end of what you've explicitly allocated in your program is causing "undefined behavior". It can do anything, including "work".
Steve's answer didn't exist when I began writing this.