PDA

نسخه کامل مشاهده نسخه کامل : چرا در آرایه ها از & استفاده نمیشه



Jalal
03-11-2006, 21:56
با سلام
چرا در آرایه ها از & استفاده نمیشه
مثلا تو این برنامه
includ<stdio>
chir item [20];
int peranto
float spereto;
main()
{
scanf ("%s %d %F",item&peranto&sperato
}
با تشکر

someone
04-11-2006, 02:06
سلام.
جواب شما در رابطه بین اشاره گرها(pointer) و آرایه هاست (Array)
در زبان C بین Pointers و Arrays ارتباط نزدیکی وجود داره.
به طور خیلی ساده و مختصر میشه گفت pointer نگهدارنده ی آدرس هست. همین طور برای یک Array.
اسم یک آرایه یک آدرس هست که اولین عنصر همون Array رو مشخص میکنه.
با چيزايي كه گفته شد اسم یک Array در واقع یک pointer هست.
بنابراین برای اینکه مقداری رو در حافظه قرار بدید نیازی به استفاده از & ندارید.
این operator (&) آدرس Operand خودش رو مشخص میکنه. واضح هست که در هنگام
ذخیره یک مقدار در یک Array (مثلا یک رشته) نیار به استفاده ازش نیست چون خودش یک pointer هست.
(به آدزسي از حافظه اشاره ميكنه)
ومقدار وارد شده در همون آدرس قرار ميگيره.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اين دستور (بالا)مقدار دريافتي كه مثلا از نوع int هست رو در آدرس خانه اي از حافظه كه با نام A مشخص شده قرار ميده.
اين كار با استفاده از & انجام ميشه.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اين دستور (بالا)هم رشته ي ورودي رو به ترتيب در اولين خانه اي در حافظه كه با نام A مشخص شده قرار ميده.
چون ميشه اين دستور رو به اين شكل در نظر گرفت:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

سعي كردم خلاصه توضيح بدم. اگه كافي نبود بيشتر صحبت ميكنيم.

man_of_ice_city
23-11-2006, 01:23
در اكثر كتابهاي c در اين مورد كامل بحث شده. مثلا كتاب c مقسمي.

Jalal
23-11-2006, 14:10
بله مرسی از راهنمایی های شما

یه سوال دارم
کسی میتونه یه برنامه با c بنویسه که نمرات 16 نفر رو بگیره بعد معدل هر درس رو به ما بده
میدونم آسونه یه زحمت بکشین