ورود

View Full Version : استراکچر پویا



کامروا
جمعه 09 دی 1390, 14:54 عصر
سلام دوستان
نحوه ی تعریف استراکچر پویا چطوره؟
مثلا ی چیزی شبیه این. البته این خطا میده

struct node
{
int code;
};
int i;
void main(void)
{
clrscr();
cin>>i;
struct node test[i]
getch();
}



لطفا راهنمایی کنید
تشکر

b.saminjad
جمعه 09 دی 1390, 17:16 عصر
سلام

اگه سی پلاس می نویسی کلاس و ساختمان تقریبا یکی اند و تعریف شی(چه استاتیک چه پویا) مشابه هست




struct x
{



};

void main()
{
x *x1;
x1= new x();


}

کامروا
جمعه 09 دی 1390, 18:32 عصر
سلام

اگه سی پلاس می نویسی کلاس و ساختمان تقریبا یکی اند و تعریف شی(چه استاتیک چه پویا) مشابه هست




struct x
{



};

void main()
{
x *x1;
x1= new x();


}






ممنون
آیا همچین چیزی هم ممکنه؟ :

struct x
{
int y[n]



};

void main()
{
x *x1;
x1= new x(n);


}



یعنی تعداد خانه آرایه y با تعداد استراکچر برابر باشه ؟!

b.saminjad
جمعه 09 دی 1390, 22:07 عصر
سلام دوباره
اون پارمتر که جلوی دستور new نوشتی پارامتر سازنده ساختمان هست

سازنده: تابعی که وقتی متغیری از ساختمان ساخته بشه خودکار فراخوانی میشه این تابع هم نام با ساختمانه و هیچ مقداریرو برنمیگردونه







struct struct1
{

struct1(int y)//sazande
{

}


};

void main()
{
struct1 *x;
x=new struct1(20)// y=20


}






بعد طول ارایه نمیتونه تغییر کنه مگه اینکه پویا باشه



int i=10;
int j[i]; //errror





اما اگه به این صورت بنویسی صحیحه


const int i=10;
int j[i]; //errror


دقت کن i به صورت ثابت تعریف شده یعنی به کامپایلر میگیم که طول ارابه ما ثایته
چون i دیگه ثابته پس خطایی هم نمیگیره