آرایه ها یکی از پرکاربردترین روشهای ذخیره سازی اطلاعات در حین کار برنامه هستند. آنها به شما امکان می دهند عناصر از همان نوع را در یک توالی مرتب سازماندهی کنید و با استفاده از فهرست سریع به آنها دسترسی پیدا کنید. خیلی اوقات ، هنگام توسعه برنامه های کاربردی در زبان های برنامه نویسی قدرتمند و انعطاف پذیر که اجازه دسترسی مستقیم به حافظه را می دهند ، مانند C ++ ، باید اندازه آرایه را تعیین کنید.
ضروری
کامپایلر C ++
دستورالعمل ها
مرحله 1
اندازه آرایه را در زمان کامپایل با محاسبه آن با استفاده از عملگر sizeof تعیین کنید. این عملگر مقدار حافظه (بر حسب بایت) را که توسط استدلال منتقل شده به آن اشغال شده است ، برمی گرداند. آرگومان می تواند یک متغیر باشد یا یک شناسه نوع. عملگر sizeof مقدار محدودی از حافظه اشغال شده توسط شی را در مرحله اجرای برنامه برمی گرداند (به عنوان مثال تنظیمات مربوط به ترازبندی قسمتهای ساختار) ، اما محاسبه آن در مرحله تدوین انجام می شود.
گام 2
برای تعیین اندازه آرایه با استفاده از عملگر sizeof ، کل اندازه آن را به اندازه یک عنصر تقسیم کنید. به عنوان مثال ، اگر تعریف زیر را از یک آرایه داشته باشید: int aTemp = {10، 20، 0xFFFF، -1، 16} ، اندازه آن می تواند به صورت زیر محاسبه شود: [0]) ؛
مرحله 3
برای استفاده راحت تر از این روش ، تعریف منطقی کلان منطقی است: زمان ، در نقطه ای که محاسبه انجام می شود ، اطلاعات مربوط به حجم آرایه و عناصر آن باید به طور واضح در دسترس باشد. به عبارت دیگر ، تعیین پارامترهای آرایه ای با اندازه ناشناخته با اعلامیه خارجی آن غیرممکن است.
مرحله 4
اندازه آرایه را هنگام اجرای برنامه با استفاده از علامت شناخته شده خاتمه آن تعیین کنید. یکی از رویکردهایی که ذخیره و انتقال داده ها را به صورت آرایه هایی با طول نامشخص امکان پذیر می کند ، اختصاص مقدار ویژه ای برای یک علامت است که نشانگر تکمیل توالی داده است. به عنوان مثال ، رشته های تک بایت به سبک C که آرایه های کاراکتری هستند باید با مقدار 0 به پایان برسند ، آرایه های رشته متغیر C با طول متغیر بسته شده صفر باشند و آرایه های اشاره گر باید خالی باشند.
مرحله 5
برای تعیین اندازه آرایه ای که به این روش نشان داده شده است ، آن را عنصر به عنصر اسکن کنید تا زمانی که عنصر پایان دهنده را پیدا کنید. در هنگام اسکن شمارنده مقداردهی اولیه را صفر کنید. یا مقدار نشانگر را به یک عنصر آرایه افزایش دهید و پس از اسکن ، تفاوت نشانگرها را به عناصر فعلی و اولین محاسبه کنید.
مرحله 6
با فراخوانی متد آن ، اندازه یک آرایه دینامیکی را که توسط یک چارچوب یا شی کتابخانه نشان داده شده است دریافت کنید. هر کلاس که عملکرد این آرایه ها را کپسول کند ، روش هایی برای بدست آوردن تعداد فعلی عناصر دارد. به عنوان مثال ، کلاس الگوی std:: vector کتابخانه استاندارد C ++ دارای یک متد اندازه ، کلاس QVector چارچوب Qt دارای یک روش شمارش و کلاس CArray مشابه MFC دارای یک روش GetCount است.