PDA

View Full Version : سوال: ایا این malloc درسته؟



1myself
دوشنبه 01 دی 1393, 00:40 صبح
با سلام
در زیر include ها و بالا ی تابع main وقتی که دو struct بر فرض مثال به اسم aوb داریم,اول a را تعریف کره ایم و در تعریفb به شکل struct a*c ,متغیر c را تعریف کرده ایم
حالا درتاابع main ابتدا می نویسم (struct *d=(a*)malloc(sizeof(a تا این جا مشکلی فکر نکنم باشد ولی اگر در خط بعد بنویسیم ((d)->b=(b*)malloc(51*sizeof(b*)
....segmentation fault می دهد...لطفا مشکل و نحوه ی درست این گونه malloc کردن را بگویید:قلب::قلب::قلب:

rahnema1
دوشنبه 01 دی 1393, 06:51 صبح
سلام
اینجور بنویسید

typedef struct a
{
//..
} a;
typedef struct b
{
a* c;
} b;
int main()
{
b* d = (b*)malloc(sizeof(b));
d->c = (a*)malloc(51 * sizeof(a));
}