26 อาเรย์ , multidimensional array


  • การใช้ดัชนีที่เกินกว่าอาเรย์ประกาศไว้ แม้ว่าโค๊ดจะทำงาน แต่ผลลัพท์อาจผิด และเดาไม่ได้ . ไม่ควรทำลักษณะนี้
  • ถ้าประกาศอาเรย์แล้วไม่ได้ตั้งค่า ก็ควรระวังเวลาใช้งาน ซึ่งต้องมีที่ที่ใดที่หนึ่งมีการตั้งค่าอาเรย์ก่อนจะใช้ ทั้งที่แบบตั้งค่าทีละตัวก่อนใช้ หรือจะตั้งค่าทั้งหมดก่อนใช้งานก็ได้
  • อาเรย์สามารถประกาศได้กี่มิติก็ได้ เช่น a[8][8][8] ; หรือ b[5][6][7][8] แต่ก็ไม่ควรเกิน 3 มิติถ้าไม่จำเป็น
  • static int a[100] ; // ถ้าการประกาศแบบ static ทุกตั้งจะถูกตั้งค่าเป็น 0
  • int b[100] = { 0 }; // ทุกตัวเป็น 0
  • int c[100] = { 1 , 2 , 3 } ; // สามตัวแรกเป็น 1 2 3 ตามลำดับ นอกนั้นเป็น 0 ทั้งหมด
  • int a [ ] = { 1, 2, 3, 4} ; // ประกาศอาเรย์ 4 ตัว .คอมไพเลอร์จะทำการจองค่าตามจำนวนที่อยู่ใน {…}
  • int a[ ][ 3 ] = { {1, 2, 3} , { 4, 5, 6} , { 1, 2, 8} , { 1, 1, 1} } // ทำเป็นแบบ 4 x 3 อาเรย์
  • int b[] = {[0 ... 3]=5} ; // จองค่า 3 ตัว ทุกตัวมีค่าเท่ากับ 5 (ถ้าเป็น gcc compiler )
  • http://gcc.gnu.org/onlinedocs/gcc-4.1.2/gcc/Designated-Inits.html สำหรับการตั้งค่าต่างๆ


No comments:

Post a Comment