PDA

View Full Version : سوال: فضای اشغال شده برای یک متغییر



ealireza
جمعه 19 شهریور 1389, 09:20 صبح
سلام

یه سوال داشتم

فقط خواهشم اینه که اگه واقعا جوابش رو نمیدونید با نیدونم و شاید و ... جواب ندین !
فقط جواب واضح .



سوالم از این قراره که
میخام فرق بین :

static int[] _arrayField1 = new int[0];
رو با

static int[] _arrayField2=null;

از نظر فضا بدونم .
از نظر فضایی که اشغال میکنن .

میدونم که در حالت اول آدرس دهی انجام میشه و یک فضای جدید برای متغییر در نظر گرفته میشه
ولی حالت دوم متغییر آدرسی نمیگیره .


خواهشی که دارم یک حرفه ای این مقایسه رو انجام بده .

مرسی.

profnami
جمعه 19 شهریور 1389, 09:55 صبح
ببینید نمونه ی این سوال شما در برنامه نویسی زیاده . من میتونم ده ها مورد از این دست رو برای شما بیارم . زیاد تفاوتی نمیکنه . در برنامه نویسی مسائل مهمتری برای دنبال کردن هست .
تفاوت بین

int x;و

int x=0;
تو چیه ؟
مقدار جفت متغییر برابر با 0 در نظر گرفته میشه .
حرفه ای بودن یا نبودن هم لازم نیست
موفق باشید

ealireza
جمعه 19 شهریور 1389, 10:33 صبح
ببینید نمونه ی این سوال شما در برنامه نویسی زیاده . من میتونم ده ها مورد از این دست رو برای شما بیارم . زیاد تفاوتی نمیکنه . در برنامه نویسی مسائل مهمتری برای دنبال کردن هست .
تفاوت بین

int x;و

int x=0;
تو چیه ؟
مقدار جفت متغییر برابر با 0 در نظر گرفته میشه .
حرفه ای بودن یا نبودن هم لازم نیست
موفق باشید
دوست عزیز Allocation آرایه با متغییر تک مقداری فرق داره !

mmd2009
جمعه 19 شهریور 1389, 11:08 صبح
با سلام

البته ما حرفه ای نیستیم ولی این سوال رو فکر کنم بتونیم جواب بدیم.

مثلا شما یک ارایه Float رو در نظر بگیرید که 10 تا عضو داره که حالا اگر بخواهیم فضای اشغال شده این ارایه رو حساب بکنید بر اساس میزان فضایی که یک عضو اشغال میکنه حساب میکنید یعنی


10*4=40

پس در ارایه بالا 40 بایت از فضا اشغال می شود.

profnami
جمعه 19 شهریور 1389, 12:31 عصر
به نظر من دو مقدار آرایه ای که شما در بالا دادید یک مقدار حافظه اشغال میکنند !
اگر خلاف اینه یک نفر منو اصلاح کنه !

r00tkit
جمعه 19 شهریور 1389, 13:03 عصر
سلام
اولا" حرفه ای یعنی چی؟

توضیح نمی دم فقط دوست برو ببین کار عملگر new چیه

کتاب clr via c# رو بخونی همهی این مشکل حل می شه

ealireza
شنبه 20 شهریور 1389, 00:45 صبح
سلام
اولا" حرفه ای یعنی چی؟

توضیح نمی دم فقط دوست برو ببین کار عملگر new چیه

کتاب clr via C#‎ رو بخونی همهی این مشکل حل می شه
حرفه ای کسی هست که با آرشیتکچر دات نت آشنایی داره


توضیح نمی دم فقط دوست برو ببین کار عملگر new چیه

میدونم که در حالت اول آدرس دهی انجام میشه و یک فضای جدید برای متغییر در نظر گرفته میش


کتاب clr via C#‎‎ رو بخونی همهی این مشکل حل می شه

برادر اگه من تایم داشتم کتاب بخونم ... العان اینجا نبودم.

ضمنا در C++‎ برای dynamic Allocation این مثائل فرق دارن باهم ..
تا جایی که من بلدم



به نظر من دو مقدار آرایه ای که شما در بالا دادید یک مقدار حافظه اشغال میکنند !
من خواهش کردم بنظر من شاید اگر و .... در کار نباشه
اگه 100% مطمئنید با مدرک بگید

مرسی