สวัสดีและยินดีต้อนรับ.
ในการสาธิตนี้ ฉันต้องการนำเสนอวิธีแก้ปัญหาสำหรับโปรแกรมสั้นๆ
ที่จะใช้ตัวดำเนินการ sizeof เพื่อบอกเราว่าหน่วยความจำของเรามีขนาดใหญ่เพียงใดสำหรับข้อมูลบางประเภท
มาสร้างบล็อคโค้ดกัน และเราจะทำตามขั้นตอนที่คุ้นเคยกันที่นี่ด้วยการสร้างโปรเจ็กต์
และเราจะได้ชื่อที่มีความหมาย
เรียกโครงการนี้ว่า sizeofexample
ขนาดดังนั้นตัวอย่าง
นี่มันค่อนข้างจะง่ายจริงๆ เป็นเพียงการใช้คำสั่งพิมพ์เพื่อแสดงข้อมูลบางประเภท
ผมจะไม่ได้สร้างตัวแปรใดๆ เลยด้วยซ้ำ ฉันแค่จะพิมพ์ข้อมูลออกมา
ที่นี่ฉันจะบอกว่าตัวแปรประเภทถ่านครอบครองเปอร์เซ็นต์
และฉันกำลังจะใช้ข้อมูลบางประเภท
ฉันคิดว่ามันคือ
zf แต่ลองใช้ zd กัน นี่เป็นตัวระบุรูปแบบที่ดี
เพิ่มใน C99 ฉันเชื่อ
Zd แล้วสิ่งที่เราต้องทำคือใช้ sizeof
Sizeof และ get ดูเหมือนเป็นฟังก์ชันแต่ไม่ใช่ แล้วพูดว่า char สำหรับ character
แล้วผมจะคัดลอกและวางเพราะผมจะทำสิ่งที่คล้ายกัน
ฉันจะไม่ทำตัวอักษร แต่ฉันจะทำสั้น ๆ ในอันที่สอง
ฉันจะทำ int และ a long, long long,
double หรือทำ
float, float double, มาลอง long double
กัน
จากนั้นสิ่งที่เราต้องทำคือแก้ไขขนาดของพารามิเตอร์เพื่อใช้ประเภทที่เกี่ยวข้อง
เราจะใช้สิ่งนี้เช่นกันเมื่อเราพูดถึงหน่วยความจำและตัวชี้
แต่สิ่งนี้ช่วยให้เข้าใจประเภทข้อมูลที่แตกต่างกันเท่านั้น
และคุณจะเห็นว่าคุณสามารถผ่านขนาดยาวของอวกาศได้
นั่นอาจเป็นสาเหตุที่ไม่ใช่ฟังก์ชันเพราะคุณไม่สามารถมีช่องว่างในพารามิเตอร์ฟังก์ชันได้
แต่อย่าลืมว่า sizeof ยังใช้ตัวแปร นิพจน์ อะไรหลายๆ
อย่างด้วย
และเมื่อทำเช่นนั้น มันจะกำหนดขนาดของที่รันไทม์จริง
ๆ เมื่อเทียบกับเวลาคอมไพล์ใน long double
บันทึกนั้นสร้าง
ไม่มีข้อผิดพลาด
ดูเหมือนไม่เข้าใจรูปแบบ z
เพราะมันอาจจะไม่อิน ดังนั้นให้เปลี่ยนเป็นเปอร์เซ็นต์การใช้งานสำหรับ
unsigned แทน
ตอนนี้เรามาสร้างกัน
เอาล่ะ ตอนนี้เราไม่มีคำเตือน โดยปกติเมื่อฉันสร้าง คุณไม่ต้องการให้มีคำเตือนใดๆ เช่นกัน
คำเตือนในคอมไพเลอร์เป็นสิ่งที่พวกเขากล่าวว่าเป็นการเตือน
ดังนั้น
คุณจะยังคงคอมไพล์ได้สำเร็จ แต่คำเตือนมักจะระบุถึงปัญหา
ดังนั้นคุณต้องการล้างคำเตือนของคุณ ดังนั้นฉันจึงมีคำเตือนว่าตัวระบุรูปแบบไม่ได้รับอนุญาต
เปอร์เซ็นต์ z ดังนั้นฉันจึงเปลี่ยนมัน ตอนนี้ฉันไม่มีคำเตือน
พยายามล้างคำเตือนของคุณให้มากที่สุดเพราะเหตุผลที่เตือนเพราะอาจทำให้เกิดปัญหาได้
และสิ่งหนึ่งที่ฉันลืมไปคือฉันเพิ่งสังเกตเห็นว่ารูปแบบนี้ไม่ถูกต้องเพราะฉันไม่ได้เพิ่มอักขระหลีกสำหรับเดิมพันการป้อนบรรทัด
จึงทำให้อ่านยากมาก ลองบวกแบ็กสแลช n หลังเปอร์เซ็นต์
u ของเรา
ตอนนี้มันบอกว่าตัวแปรประเภทถ่านครอบครองหนึ่ง
ตัวแปรประเภท short ครอบครอง
2 ไบต์, int 4 ไบต์, ยาว 4 ไบต์, ยาว 8 ไบต์,
float 4 ไบต์, คู่ 8 ไบต์, ยาวคู่ 12
มันค่อนข้างเรียบร้อย คุณเรียกใช้สิ่งนี้บนแพลตฟอร์มต่างๆ มากมาย และคุณจะเห็นสิ่งเหล่านั้นเปลี่ยนไป
เป็นโปรแกรมที่เขียนง่าย แต่แสดงให้เห็นแนวคิดที่เรียบร้อยอีกครั้ง
ดังนั้นคุณสามารถไปข้างหน้าคุณสามารถดาวน์โหลดได้
หากคุณมีปัญหาใดๆ ให้ลองใช้งานบนแพลตฟอร์มต่างๆ แต่นี่คือทั้งหมดที่ผมต้องการแสดงให้เห็นเพียงการแสดงขนาดประเภทข้อมูลต่างๆ
กันเพียงเล็กน้อยเท่านั้น ดังนั้นในหัวข้อถัดไป ขอขอบคุณ.