ฉันสังเกตเห็นบางคนใช้สัญกรณ์ต่อไปนี้ในการประกาศตัวแปรตัวชี้
(a) char* p;
แทน
(b) char *p;
ฉันใช้ (b) อะไรคือเหตุผลที่อยู่เบื้องหลังสัญกรณ์ (ก)? สัญกรณ์ (b) มีความหมายสำหรับฉันมากขึ้นเนื่องจากตัวชี้อักขระไม่ใช่ประเภทเอง แทนที่จะเป็นประเภทอักขระและตัวแปรอาจเป็นตัวชี้ไปยังอักขระ
char* c;
ดูเหมือนว่ามีประเภท char * และตัวแปร c เป็นประเภทนั้น แต่ในความเป็นจริงประเภทคือถ่านและ * c (ตำแหน่งหน่วยความจำที่ชี้โดย c) เป็นประเภทนั้น (ถ่าน) หากคุณประกาศตัวแปรหลายตัวพร้อมกันความแตกต่างนี้จะชัดเจน
char* c, *d;
มันดูแปลก ๆ ทั้ง c และ d เป็นพอยน์เตอร์ชนิดเดียวกันที่ชี้ไปที่อักขระ ในสิ่งนี้ตั้งแต่ครั้งต่อไปดูเป็นธรรมชาติมากขึ้น
char *c, *d;
ขอบคุณ.