มันไม่ได้
ตัวสิ้นสุดสตริงเป็นไบต์ที่มี 0 บิตทั้งหมด
int ที่ไม่ได้ลงชื่อคือสองหรือสี่ไบต์ (ขึ้นอยู่กับสภาพแวดล้อมของคุณ) แต่ละอันมี 0 บิตทั้งหมด
ทั้งสองรายการจะถูกเก็บไว้ในที่อยู่ที่แตกต่างกัน รหัสที่คอมไพล์แล้วของคุณทำการดำเนินการที่เหมาะสมสำหรับสตริงในตำแหน่งเดิม (ยกเว้นว่าคุณมีข้อบกพร่องในรหัสของคุณหรือรหัสที่ฉลาดอันตราย!)
แต่ไบต์เหล่านี้ทั้งหมดดูเหมือนกับ CPU ข้อมูลในหน่วยความจำ (ในสถาปัตยกรรมชุดคำสั่งที่ใช้กันทั่วไปในปัจจุบัน) ไม่มีความเกี่ยวข้องใด ๆ นั่นเป็นสิ่งที่เป็นนามธรรมที่มีอยู่ในซอร์สโค้ดและแปลว่าคอมไพเลอร์เท่านั้น
เพิ่มการแก้ไข: เป็นตัวอย่าง: มันเป็นไปได้อย่างสมบูรณ์แม้กระทั่งสามัญเพื่อดำเนินการทางคณิตศาสตร์ในไบต์ที่ทำขึ้นสตริง หากคุณมีสตริงอักขระ ASCII 8 บิตคุณสามารถแปลงตัวอักษรในสตริงระหว่างตัวพิมพ์ใหญ่และตัวพิมพ์เล็กโดยการเพิ่มหรือลบ 32 (ฐานสิบ) หรือถ้าคุณกำลังแปลไปยังรหัสตัวอักษรอื่นคุณสามารถใช้ค่าของพวกเขาเป็นดัชนีในอาร์เรย์ที่มีองค์ประกอบให้การเข้ารหัสบิตเทียบเท่าในรหัสอื่น ๆ
สำหรับซีพียูตัวอักษรนั้นเป็นจำนวนเต็มสั้นพิเศษจริงๆ (แปดบิตแต่ละอันแทน 16, 32, หรือ 64. ) สำหรับเรามนุษย์คุณค่าของมันเกิดขึ้นเพื่อเชื่อมโยงกับตัวละครที่อ่านได้ แต่ CPU ไม่มีความคิดในเรื่องนั้น นอกจากนี้ยังไม่ทราบอะไรเกี่ยวกับการประชุม "C" ของ "null by ลงท้ายสตริง" ทั้ง (และเป็นจำนวนมากได้ระบุไว้ในคำตอบและความคิดเห็นอื่น ๆ มีสภาพแวดล้อมการเขียนโปรแกรมในการประชุมที่ไม่ได้ใช้เลย) .
เพื่อให้แน่ใจว่ามีคำแนะนำบางอย่างใน x86 / x64 ที่มีแนวโน้มที่จะใช้มากกับสตริง - คำนำหน้า REP เช่น - แต่คุณสามารถใช้มันกับอาร์เรย์ของจำนวนเต็มถ้าพวกเขาได้ผลลัพธ์ที่ต้องการ