Hi...Please check this code out it compiles and runs absolutely fine.. The question is that when i started learning c++ (turbo c++) i never was able to declare an array of any type as ..
datatype var[variable_set_at_runtime];
and i took it for granted that this cant be possible in latest gcc compilers...but surprisingly this is possible...
So my related question is that whats the need of new operator then??
I know that new operator does a lot of things including dynamically allocating memory at runtime in heap,returning an address to that resource...etc..
What difference i feel is that my code dynamically allocates the memory on stack while new does it on heap?? is this the only difference...
i am really astonished after writing something like this as i could not do this when i started learning c++ and ...to add to it i can do this for custom data types too... :-O
#include<iostream>
using namespace std;
struct A
{
int a;
int b;
};
int main()
{
int a;
cin>>a;
int ch[a];
for(int i=0;i<a;i++)
ch[i]=i+1;
for(int i=0;i<a;i++)
cout<<"\n\nch=="<<ch[i];
A obj[a];
cin>>obj[a-1].a;
cin>>obj[a-1].b;
cout<<"\n\n obj.a,obj.b=="<<obj[a-1].a<<" , "<<obj[a-1].b;
}
Please shed some light..
Thanks.