آکولاد یا دوابرو قسمت عمدهای از برنامهنویسی به زبان c را شکیل میدهد. آکولادها درواقع ابتدا و انتهای یک بلاک کد را مشخص میکنند. آکولاد در ساختارهای متفاوتی استفاده میشود که ممکن است برای مبتدیها کمی دشوار باشد. در پایین استفاده از آنها را مشخص کردهایم.
یک آکولاد بازشده “}” باید حتما با یک آکولاد “{” بسته شود. این شرطی است که به آن متعادل بودن آکولاد میگویند.
در محیط توسعه آردوینو (Arduino IDE) یک ویژگی راحتی برای چک کردن متعادل (درست بودن تعداد) آکولادها وجود دارد. برای اینکار یکی از آکولادها را انتخاب کنید یا بلافاصله بعد از آکولاد روی نقطهی درج کلیک کنید و آکولاد همراه(زوجش) هایلایت خواهد شد. در حال حاضر این ویژگی کمی باگ دارد چون IDE معمولا به اشتباه آکولادهایی که کامنت شدهاند را نیز پیدا میکند.
برنامهنویسهای مبتدی یا برنامهنویسانی که از زبان بیسیک به سی آمدهاند، معمولا استفاده از آکولاد را کمی گیجکننده مییابند. در کل آکولاد درواقع بهجای Return موجود در توابع(سابروتین)، Endif عبارت شرطی و Next حلقهی for است.
به خاطر متنوع بودن استفادههای آکولاد و برای فراموش نکردن آکولادها، هنگام استفاده از ساختارهایی که به آکولاد نیاز دارند، بلافاصله بعد از درج آکولاد ابتدایی، آکولاد انتهایی را نیز درج کنید. سپس در بین این دو (با استفاده از دکمه اینتر)، چند خط جدید ایجاد کنید و کدهایتان را بنویسید. آکولادهای شما و این روش هیچگاه نامتعادل نخواهد شد.
آکولادهای نامتعادل معمولا منجر به خطاهای کامپایلری مرموز و نامفهوم میشوند. گاهی اوقات پیگیری این خطاها در برنامههای طولانی مشکل خواهد بود. به خاطر استفادههای متنوع، آکولادها برای سینتکس برنامه نیز بسیار مهم هستند و جابهجا کردن آکولاد در یک یا دو خط، معمولا باعث تاثیر چشمگیری در مفهوم برنامه خواهد شد.
استفادههای اصلی از آکولاد:
توابع:
1 2 3 | void myfunction(datatype argument){ statements(s) } |
حلقهها:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | while (boolean expression) { statement(s) } do { statement(s) } while (boolean expression); for (initialisation; termination condition; incrementing expr) { statement(s) } |
عبارات شرطی:
1 2 3 4 5 6 7 8 9 10 11 12 13 | if (boolean expression) { statement(s) } else if (boolean expression) { statement(s) } else { statement(s) } |