41 พอร์ยเตอร์กับอาเรย์สองมิติ


  • int *p[4] ; // มีความหมายเท่ากับการประกาศอาเรย์ ที่มีสมาชิก 4 ตัว แต่ละตัวคือพอร์ยเตอร์ของ int . เช่น

  • int (*p)[4]; // มีความหมายเท่ากับการประกาศพอร์ยเตอร์ 1 ตัวเท่านั้น แต่ขนาดของมันไม่ใช่ขนาดของ int แต่มีขนาดเท่ากับ 4 int. เช่น การบวกพอร์ยเตอร์ไป 1 หน่วย มันจะทำการก้าวไปอยู่ตำแหน่งที่ 4 x ขนาดของ int ถ้าเป็นในตัวอย่างก็คือ 4 x 4 = 16. ดังนั้น ถ้า &p เริ่มต้นที่ 1000 . ดังนั้น p++ จะย้ายไปอยู่ที่ 1016 (ไม่ใช่ 1004 ). ดังนั้นเราจึงใช้การประกาศแบบนี้ สำหรับอาเรย์สองมิติ เพื่อเราสามารถทำการเข้าถึงอาเรย์แบบ row และ column


No comments:

Post a Comment