ฉันเพิ่งเริ่มเรียนรู้การเขียนโปรแกรมใน C และเพื่อปรับปรุงความเข้าใจของฉันเกี่ยวกับพอยน์เตอร์และอาร์เรย์ฉันพยายามอ้างถึงองค์ประกอบของอาร์เรย์โดยไม่สร้างตัวชี้ใด ๆ เลย:
for(k1 = 0; k1 < ROW; k1++){
for(k2 = 0; k2 < COLUMN; k2++){
array[k1][k2] = k1*COLUMN + k2 + 1;
printf("[%d][%d] = %d\n", k1, k2, *(array[k1] + k2));
}
}
รหัสทั้งหมดรวบรวมและทำงานอย่างไม่มีที่ติ
ฉันคิดว่าต้องสร้างตัวชี้สำหรับทุก ๆ อาร์เรย์ในซอร์สโค้ดขนาดใหญ่ดูเหมือนว่าจะไม่มีประสิทธิภาพสูง
ดังนั้นแทนที่จะมีที่อยู่ของอาร์เรย์ที่เก็บและดึงข้อมูลโดยใช้ตัวชี้มันเป็นวิธีการเขียนโปรแกรมที่ไม่ดีหรือไม่ที่จะใช้ที่อยู่ของอาร์เรย์โดยตรงดังที่แสดงไว้ด้านบน
printf "[%d][%d] = %d\n", k1, k2, array[k1] [k2]));
จะหลีกเลี่ยงตัวชี้ทางคณิตศาสตร์และเข้าใจได้ง่ายขึ้น