در این مقاله با روش ارسال آرایه به یک تابع در ++C آشنا می‌شویم. بدین ترتیب با روش ارسال آرایه‌های تک‌بعدی و چندبعدی آشنا خواهیم شد. برای مطالعه بخش قبلی این سری مقالات آموزش زبان برنامه‌نویسی ++C روی لینک زیر کلیک کنید:

ارسال آرایه‌های تک بعدی به تابع

آرایه‌ها را می‌توان به صورت یک آرگومان به یک تابع ارسال کرد. به مثال زیر که در آن یک آرایه تک‌بعدی به یک تابع ارسال می‌شود توجه کنید.

مثال 1: ارسال آرایه تک‌ بعدی به یک تابع

برنامه ++C زیر نمرات 5 دانش‌آموز را از طریق ارسال یک آرایه تک‌بعدی به یک تابع نمایش می‌دهد.

خروجی

زمانی که یک آرایه به صورت یک آرگومان به تابعی ارسال می‌شود، تنها نام آرایه به عنوان آرگومان استفاده می‌شود.

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

آرگومان marks در کد فوق نشان‌دهنده آدرس حافظه اولین عنصر آرایه [marks[5 است. آرگومان رسمی [int m[5 در اعلان تابع به ;int* m تبدیل می‌شود. این اشاره‌گر به همان آدرس اشاره شده از سوی marks آرایه اشاره می‌کند.

به همین دلیل است که گرچه تابع در تابع تعریف شده از سوی کاربر با نام آرایه متفاوتی به صورت [m[5 دستکاری می‌شود، اما در عمل آرایه اصلی marks دستکاری شده است.

++C ارسال یک آرایه به تابع را این چنین مدیریت می‌کند تا در مصرف زمان و حافظه صرفه‌جویی شود.

ارسال آرایه چند بعدی به یک تابع

آرایه چندبعدی را می‌توان به روشی مشابه آرایه تک‌بعدی ارسال کرد. به مثال زیر که در آن یک آرایه دوبعدی به یک تابع ارسال می‌شود توجه کنید:

مثال 2: ارسال آرایه چند بعدی به یک تابع

برنامه ++C برای نمایش عناصر آرایه دوبعدی از طریق ارسال آن به یک تابع به صورت زیر است:

خروجی

در برنامه فوق آرایه چندبعدی num به تابع ()display ارسال می‌شود. درون تابع ()display یک آرایه به نام (n (num با استفاده از حلقه for تودرتو پیمایش می‌شود. برنامه فوق از 2 حلقه for برای تعریف چرخه تکرار روی عناصر درون یک آرایه 2 بعدی استفاده می‌کند. اگر یک آرایه 3 بعدی وجود داشته باشد، باید از 3 حلقه for استفاده شود. در نهایت همه عناصر روی صفحه نمایش پیدا می‌کنند.

نکته: آرایه چندبعدی با ابعاد بیش از 2 می‌تواند به روشی مشابه آرایه دوبعدی ارسال شود.

بدین ترتیب به پایان این بخش از سری مقالات آموزش مفاهیم زبان برنامه‌نویسی ++C می‌رسیم. برای مطالعه بخش بعدی روی لینک زیر کلیک کنید:

اگر این مطلب برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

میثم لطفی (+)

«میثم لطفی» دانش‌آموخته ریاضیات و شیفته فناوری به خصوص در حوزه رایانه است. وی در حال حاضر علاوه بر پیگیری علاقه‌مندی‌هایش در رشته‌های برنامه‌نویسی، کپی‌رایتینگ و محتوای چندرسانه‌ای، در زمینه نگارش مقالاتی با محوریت نرم‌افزار نیز با مجله فرادرس همکاری دارد.

بر اساس رای 7 نفر

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *