modirmasool
شنبه 11 دی 1389, 21:37 عصر
با سلام
دوستان فرض کنین یه ساختار داریم که قراره در زمان اجرای برنامه، به صورت پویا، به یه اشاره گر که از جنس ساختارمونه، اضافه بشه. تا اینجا کار میتونیم اینطوری بنویسیم
struct contact
{
char name[10],family[10];
};
contact *list;
list=new contact[n];
پس ما یه آرایه از ساختارمون میخوایم تولید کنیم. اما حالا بریم سر مشکلمون! مشکل من اینجاست که میخوام علاوه بر کارهای گفته شده، اجزای (فیلدها) ساختارم هم پویا باشن. یعنی در زمان اجرا مشخص بشه که فیلد نامم چند کاراکتر باشه. چرا که ممکنه یه اسمی سه حرفی باشه و ما بیخودی به اندازه ده کاراکتر فضا اشغال کنیم.
من اومد برنامه رو اینطوری نوشتم:
struct contact
{
char *name,*family;
};
contact *list;
list=new contact[n];
اما حالا موندم که باید چطوری به فیلدهام مقدار بدم و طولشونو تعیین کنم. به صورت زیر نوشتم که اشتباه بود:
list[0].name=new char[3];
ممنون میشم راهنماییم کنین.
با تشکر
دوستان فرض کنین یه ساختار داریم که قراره در زمان اجرای برنامه، به صورت پویا، به یه اشاره گر که از جنس ساختارمونه، اضافه بشه. تا اینجا کار میتونیم اینطوری بنویسیم
struct contact
{
char name[10],family[10];
};
contact *list;
list=new contact[n];
پس ما یه آرایه از ساختارمون میخوایم تولید کنیم. اما حالا بریم سر مشکلمون! مشکل من اینجاست که میخوام علاوه بر کارهای گفته شده، اجزای (فیلدها) ساختارم هم پویا باشن. یعنی در زمان اجرا مشخص بشه که فیلد نامم چند کاراکتر باشه. چرا که ممکنه یه اسمی سه حرفی باشه و ما بیخودی به اندازه ده کاراکتر فضا اشغال کنیم.
من اومد برنامه رو اینطوری نوشتم:
struct contact
{
char *name,*family;
};
contact *list;
list=new contact[n];
اما حالا موندم که باید چطوری به فیلدهام مقدار بدم و طولشونو تعیین کنم. به صورت زیر نوشتم که اشتباه بود:
list[0].name=new char[3];
ممنون میشم راهنماییم کنین.
با تشکر