40 พอร์ยเตอร์ กับ พอร์ยเตอร์


  • int *p กับ int* p (เว้นช่องไฟไม่เหมือนกัน) เหมือนกันทุกประการ จะต่างกันตรงที่การอ่านและความเข้าใจ เช่น
    int* p, q ; // ความหมายคือ int *p; int q; แต่บางทีอาจทำให้เข้าใจผิดได้ว่าเป็น int* p ; int* q; ซึ่งแบบหลังนี้ไม่ถูก
    int *p, q ; // ความหมายก็เหมือนกับข้างบน แต่บางทีก็ทำให้ดูคล้ายเป็นการ deference ( ซึ่งไม่ใช่ )
  • การประกาศ pointer to pointer ก็คือการใช้ * ตามจำนวนชั้นของพอร์ยเตอร์นั้น เช่น
    int a = 4;
    int *p = &a;
    int **q = &p;
    int ***r = &q;
    int ****s = &r;


No comments:

Post a Comment