Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ความแตกต่างระหว่าง strlen() และ sizeof() สำหรับสตริงใน C Program


อย่างที่เราทราบกันดีอยู่แล้วว่าในการเขียนโปรแกรม string สามารถกำหนดเป็นชุดของอักขระได้ สำหรับข้อกำหนดในการค้นหาจำนวนอักขระที่ใช้ในการสร้างสตริง C มีสองวิธีคือ strlen() และ sizeof()

ตามที่กล่าวไว้ในจุดข้างต้น ทั้งสองวิธีนี้ใช้เพื่อค้นหาความยาวของตัวถูกดำเนินการเป้าหมาย แต่บนพื้นฐานของการใช้งานภายใน ต่อไปนี้คือข้อแตกต่างพื้นฐานบางประการระหว่างทั้งสอง

ซีเนียร์ เลขที่ คีย์ strlen() sizeof()
1 คำจำกัดความ strlen() เป็นฟังก์ชันที่กำหนดไว้ล่วงหน้าซึ่งกำหนดไว้ในไฟล์ส่วนหัวชื่อ string.h ในภาษา C ในอีกทางหนึ่ง sizeof() เป็นโอเปอเรเตอร์ Unary และไม่ใช่ฟังก์ชันที่กำหนดไว้ล่วงหน้า
2 การนำไปใช้ strlen ถูกใช้งานภายในเนื่องจากจะนับจำนวนอักขระในสตริงเป็นหลัก โดยไม่รวมค่า null นั่นคือส่งคืนความยาวของสตริงที่สิ้นสุดค่า null ในขณะที่ sizeof ถูกใช้งานในลักษณะที่คำนวณขนาดที่แท้จริงของข้อมูลประเภทใดก็ได้ (จัดสรร) เป็นไบต์ (รวมถึงค่า Null)
3 การจัดการค่าว่าง strln ไม่รวมค่า null และไม่รวมอยู่ในการคำนวณความยาวของสตริงทั้งหมด ในทางกลับกัน sizeof ไม่สนใจค่าของตัวแปรและคำนวณขนาดที่แท้จริงของข้อมูลประเภทใดๆ (จัดสรร) เป็นไบต์ (รวมถึงค่า Null)