اشاره گر به آرایه 2 بعدی در ++c :
یکی از ویژگیهای قدرتمند زبان برنامه نویسی ++C، قابلیت مدیریت حافظه به صورت دستی است. این ویژگی به برنامه نویسان اجازه میدهد تا از اشاره گرها بهره ببرند و به طور مستقیم با حافظه در سطح پایینتر برنامه تعامل داشته باشند. یکی از کاربردهای مهم اشاره گرها در ++C، مدیریت آرایههای 2 بعدی است.
آرایههای 2 بعدی در ++C مانند آرایههای دیگر، مجموعهای از متغیرهای هم نوع هستند که در یک ساختار مشخص قرار دارند. این آرایهها دارای دو ابعاد (سطر و ستون) هستند که با استفاده از اشاره گرها در ++C میتوان به آنها دسترسی داشت.
برای ایجاد یک آرایه 2 بعدی در ++C، ابتدا باید یک اشاره گر به نوع داده مورد نظر تعریف کنید. سپس با استفاده از عملگر new، حافظهای برای آرایه اختصاص دهید. برای مثال، برای ایجاد یک آرایه 2 بعدی به نام myArray با ابعاد 3 در 3 و از نوع int، کد زیر را میتوانید استفاده کنید:
int** myArray = new int*[3];
for (int i = 0; i < 3; i++) {
myArray[i] = new int[3];
}
در این کد، یک اشاره گر به نوع int تعریف شده است و سپس با استفاده از عملگر new، حافظهای برای آرایه 2 بعدی ایجاد میشود. در حلقه for، اشاره گرهای که در ابتدا به طول 3 تعریف شدهاند، به آرایههای دیگر اشاره میکنند و حافظه مورد نیاز را اختصاص میدهند.
حالا که آرایه 2 بعدی ایجاد شده است، میتوان با استفاده از اشاره گرها به دادههای موجود در آرایه دسترسی داشت. برای مثال، میتوان با استفاده از اشاره گر myArray به اعداد داخل آرایه دسترسی داشت و آنها را تغییر داد. برای مثال، کد زیر اعداد داخل آرایه را چاپ میکند:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << myArray[i][j] << ” “;
}
cout << endl;
}
در این کد، با استفاده از دو حلقه for، به تمامی دادههای آرایه دسترسی داریم و آنها را چاپ میکنیم. با استفاده از دستور myArray[i][j]، به اعداد داخل آرایه دسترسی داریم و آنها را چاپ میکنیم.
در نهایت، بعد از اتمام استفاده از آرایه 2 بعدی، باید به یاد داشته باشیم که حافظهای که برای آن اختصاص داده شده است را آزاد کنیم. برای این کار، باید از عملگر delete استفاده کنیم و حافظه مورد نظر را آزاد کنیم. برای مثال:
for (int i = 0; i < 3; i++) {
delete[] myArray[i];
}
delete[] myArray;
در این کد، با استفاده از دستور delete[]، حافظهای که برای آرایههای داخلی اختصاص داده شده است را آزاد میکنیم و سپس با استفاده از delete[] myArray، حافظهای که برای آرایه اصلی اختصاص داده شده است را نیز آزاد میکنیم.
اشاره گر به آرایه 2 بعدی در ++C، یکی از قابلیتهای قدرتمند این زبان است که به برنامه نویسان امکان مدیریت دقیق حافظه را میدهد. با استفاده از اشاره گرها، میتوان به طور مستقیم با دادههای آرایه 2 بعدی تعامل داشت و عملیاتهای مختلفی روی آنها انجام داد.