برنامه ساعت LED بوسیله ++c

برای مشاهده برنامه ساعت LED نوشته شده با ++c به ادامه مطلب مراجعه نمائید.

برنامه نویسی ++c

ادامه نوشته

مطالبي مفيد براي ACM

1- اجتناب از بررسی تساوی در اعداد اعشاری

2- استفاده از اشاره‌گر به جای اندیس در پیمایش آرایه

3-دقت در استفاده از اشاره‌گر به عنوان مقدار خروجی تابع

4- کلمه کلیدی خيلي پركاربرد

5- دقت در تعریف متغیرها به صورت یک عبارت

براي خواندن اين مطالب به صورت كامل به ادامه مطلب مراجعه نمائيد.

ادامه نوشته

آرایه ها در ++ c

آرایه

يک آرايه (array) مجموعه ای از محل های پشت سرهم حافظه است که همگی دارای يک نام می باشند . یک آرایه نوعی متغیر است که بجای ذخیره یک مقدار یکسری از مقادیر هم نوع را ذخیره می کند. هر محل ذخيره سازی در آرا‍يه را يک عنصر آرايه می نامند.

شکل کلی تعريف آرايه به صورت زير است:

DataType array_name[size];

Size تعداد عناصر آرایه است که در کروشه ذکر می شود. DataType نوع عناصر آرايه است که از هر نوع داده ای می تواند باشد.

اندازه آرايه بايد در زمان کامپايل مشخص باشد و در طول زمان اجرا ثابت است و تغيير نمی کند. وقتی آرايه ای اعلان می شود کامپايلر يک بلاک از حافظه که برای نگهداری کل آرايه کفايت می کند را کنار می گذارد. به اين ترتيب عناصر آرايه پشت سرهم ذخيره می شوند.

اسم آرايه اشاره گری به اولين عنصر آن است. به عناصر می توان به طور منفرد با اضافه کردن اندیس به اسم آرايه مراجعه کرد. انديس (index) باعث متمايز شدن عناصر آرايه از يکديگر می شود و تعيين می کند عنصر آرايه چندمين محل ذخيره سازی در آرايه است. در ++C انديس آرایه يک عدد صحيح است که از صفر شروع می شود.


مثال. آرايه A که به صورت زير تعريف شده است يک آرايه يک بعدی با 5 عنصر از نوع صحيح است. عناصر آن شامل A[3] , A[2] , A[1] , A[0] و A[4] است.

int A[5];


هنگام دسترسی به عناصر آرايه بعد از اسم آرايه بايد درون کروشه شماره انديس عنصر مورد نظر ذکر شود. عناصر آرايه را می توان توسط دستور انتساب مقداردهی کرد يا مقدار آن را از ورودی درياقت کرد.

A[0] = 10;

cout << "Enter a number:";
cin >> A[1];

با توجه به اينکه تعداد عناصر آرايه معين است برای کارکردن روی کليه عناصر آرايه حلقه های for روش مناسبی هستند.


مثال. در برنامه زير کليه عناصر يک آرايه از ورودی دريافت و سپس نمايش داده می شود.

#include
int main() {
   int A[10];
   for (int k = 0; k < 10; k++) {
      cout << "Enter an integer: ";
      cin >> A[k];
      }
   for (int k = 0; k < 10; k++)
      cout << A[k] << endl;
   return 0;
}


بخاطر داشته باشيد انديس عناصر آرايه با n عنصر از 0 تا n-1 است. اگر به عنصری خارج از اين محدوده دسترسی پیدا کنید کامپایلر خطائی نمی گيرد ولی این می تواند به مشکلات جدی منجر بشود چون ممکن است روی داده برنامه های دیگر درون حافظه تاثير بگذارد.

اگر اندیس آرایه اعشاری باشد کامپايلر آن را به يک عدد صحيح گرد می کند.


مثال. در برنامه زير سعی شده به عنصری خارج از اندازه آرايه دسترسی شود. دستور myarray[10] باعث می شود مقدار 99 در محلی ذخيره شود که 6 خانه بعد از آرایه myarray است این حافظه ممکن است شامل داده لازم برای برنامه دیگر باشد.

#include
int main() {
   int myarray[5];
   myarray[10] = 99;
   cout << myarray[10] << endl;
   return 0;
}



منبع:

http://www.hpkclasses.ir/Courses/cpp/cpp0700.html