วันพุธที่ 4 พฤศจิกายน พ.ศ. 2552

C++ - การสร้างไดนามิกอาร์เรย์

ตัวอย่างการสร้างเมทริกซ์ โดยใช้ Dynamic Memory Allocation ใน C++

int** array = new int*[dim];
for(int i = 0; i < dim; i++)
array[i] = new int[dim];

จากโค๊ดตัวอย่างและรูป จะเห็นได้ว่าเราสร้างอาร์เรย์ของพอยน์เตอร์ที่ชี้ int (int*[]) มีขนาดเท่ากับ dim (ในรุป dim = 3 ) โดยที่มีตัวแปร array เป็นชนิด พอยน์เตอร์ที่ชี้พอยน์เตอร์ที่ชี้ int (int**) จากนั้นจึงได้สร้างอาร์เรย์ของ int ขนาด dim (dim = 3) โดยกำหนดค่าให้กับ element แต่ละตำแหน่งของอาร์เรย์ จึงได้เมทริกซ์ขนาด dim*dim (3x3) ดังรูป