یک برنامه نویس در روند برنامه نویسی خود ممکن است به موردی برخورد کند که نیاز به استفاده از تعداد زیادی متغیر داشته باشد. مثلا اگر بخواهیم جملات ۱ تا ۱۰۰ سری فیبوناچی را برای استفاده ذخیره کنیم، به صد متغیر نیاز داریم. تعریف این صد متغیر به صورت مستقل و با نام های جداگانه کاری سخت و طاقت فرساست و البته معقولانه نیست. به همین خاطر در زبان C قابلیتی پیش بینی شده تا بتواند تعداد دلخواهی متغیر از یک نوع را به راحتی ایجاد کرد.به این متغیر ها که در حافظه پشت سر هم قرار می گیرند و همگی از یک نوع هستند آرایه (Array) می گویند. آرایه ها کاربردهای بسیار زیادی دارند و همانند دنباله ها در ریاضی عمل می کنند. همان طور که در ریاضی برای مشخص کردن یک جمله از دنباله از اندیس استفاده می کنیم، در C نیز برای مشخص کردن یک متغیر خاص از اندیس استفاده می شود.
همان طور که مشاهده می کنید خانه ی پنجم شماره ی ۴ دارد و این بدین خاطر است که خانه ها از شماره ی ۰ تا n-1 (که n تعداد خانه هاست) شماره گذاری می شود. پس باید به این مورد دقت کرد. مورد دیگر این که شماره ی خانه در [] قرار می گیرد. درون علامت آکلاد می توان عبارت نیز قرار داد.همان طور که گفته شد در حافظه ی رایانه خانه های آرایه پشت سر هم قرار می گیرند. اندازه ی هر خانه به اندازه ی نوع تعریف شده است. مثلا در مثال قبل اگر int دو بایت اشغال کند آرایه ی array، در کل ۲۰ بایت از حافظه اشغال خواهد کرد. این که خانه ها پشت سر هم قرار میگیرند ویژگی کارایی است که در بحث اشاره گر ها به کار می آید.