คุณสามารถพิมพ์ตัวชี้?
คุณสามารถพิมพ์ตัวชี้?

วีดีโอ: คุณสามารถพิมพ์ตัวชี้?

วีดีโอ: คุณสามารถพิมพ์ตัวชี้?
วีดีโอ: 15 ปุ่มลัดที่น่าทึ่งที่คุณไม่ได้ใช้ 2024, อาจ
Anonim

ตัวชี้การพิมพ์ . คุณสามารถพิมพ์ตัวชี้ ค่าโดยใช้ printf พร้อมตัวระบุรูปแบบ %p ทำ ดังนั้น, คุณ ควรแปลง ตัวชี้ไปที่ พิมพ์ void * ก่อนใช้การร่าย (ดูด้านล่างสำหรับ void * ตัวชี้ ) แม้ว่าในเครื่องที่ไม่มีการแสดงแทนที่แตกต่างกัน ตัวชี้ ประเภทนี้อาจไม่จำเป็น

คำถามคือฉันจะพิมพ์ที่อยู่ printf ของฉันได้อย่างไร

ถึง พิมพ์ ความทรงจำ ที่อยู่ , เรา ใช้ ตัวระบุรูปแบบ '%p' ใน ค. โต พิมพ์ NS ที่อยู่ของ ตัวแปร เรา ใช้ ตัวระบุ "%p" ใน ภาษาโปรแกรมซี มีสองวิธีในการรับ ที่อยู่ ของตัวแปร: โดยใช้ " ที่อยู่ ของ" (&) ตัวดำเนินการ

นอกจากนี้ จะเกิดอะไรขึ้นเมื่อคุณเพิ่มตัวชี้ NS ตัวชี้ การบวกหมายถึงการส่งต่อไปยังองค์ประกอบที่แหลมถัดไป ดังนั้นที่อยู่จะเพิ่มขึ้นตามขนาดขององค์ประกอบปลายแหลม ที่อยู่ของ ตัวชี้ จะเพิ่มขึ้นตามขนาดของ (T) โดยที่ T เป็นประเภทที่ชี้ไป ดังนั้นสำหรับ int, the ตัวชี้ จะเพิ่มขึ้นตาม sizeof(int)

ในทำนองเดียวกัน มีคนถามว่า ฉันจะหาค่าของพอยน์เตอร์ได้อย่างไร

1 คำตอบ ถึง รับ NS ค่า ของ ตัวชี้ , เพียงแค่ยกเลิกการอ้างอิง the ตัวชี้ . int *ptr; int ค่า ; *ptr = 9; ค่า = *ptr; ค่า ตอนนี้คือ 9

สามารถเพิ่มจำนวนเต็มในพอยน์เตอร์ได้หรือไม่?

ตัวชี้ เลขคณิตและอาร์เรย์ เพิ่ม NS จำนวนเต็ม เป็น ตัวชี้ หรือลบ an จำนวนเต็ม จาก ตัวชี้ . ผลของ p+n โดยที่ p คือ a ตัวชี้ และ n คือ an จำนวนเต็ม คือการคำนวณที่อยู่เท่ากับ p บวก n คูณขนาดของสิ่งที่ p ชี้ไป (นี่คือสาเหตุที่ int * ตัวชี้ และอักขระ * ตัวชี้ ไม่เหมือนกัน)