PDA

View Full Version : سوال: کپی کردن مقادیر یک آرایه دو بعدی



Nabege
پنج شنبه 06 تیر 1392, 13:09 عصر
سوالم اینه که چطوری میشه یک آرایه دو بعدی رو در یک آرایه دو بعدی دیگه به ساده ترین و سریع ترین روش کپی کرد؟
چون من هرچی این کد رو امتحان کردم کامپایلر ارور می داد:

int a[10][10];
int b[10][10]={0};
a=b;


به نظرتون چیکار کنم؟؟؟؟؟

tdkhakpur
پنج شنبه 06 تیر 1392, 13:19 عصر
memcpy((void *)a, (void *)b, sizeof(int)*10*10);

Nabege
پنج شنبه 06 تیر 1392, 13:25 عصر
این چیه ؟ چیکار میکنه ؟ چه طور می تونم ازش استفاده کنم ؟ (یه توضیح مختصر)

Nabege
پنج شنبه 06 تیر 1392, 13:36 عصر
یعنی این memcpy سریعتر از کد زیرِ:
for(int i=0;i<11;i++) for(int n=0;n<11;n++) a[i][n]=b[i][n];

l

tdkhakpur
پنج شنبه 06 تیر 1392, 13:45 عصر
یعنی این memcpy سریعتر از کد زیرِ:
for(int i=0;i<11;i++) for(int n=0;n<11;n++) a[i][n]=b[i][n];

l
memcpy از کد مستقیم اسمبلی یا همون پردازنده استفاده میکنه. اما کد شما دو سه مرحله دیگه مثل حلقه ها و پرش به مکان حافظه و بعد مقایسه ها و ... بعد آخر سر میره جایگزین میکنه.