คำถามติดแท็ก c

C เป็นภาษาโปรแกรมคอมพิวเตอร์ทั่วไปที่ใช้สำหรับระบบปฏิบัติการเกมและงานที่มีประสิทธิภาพสูงอื่น ๆ

22
การเรียนรู้วิธีการใช้ C (หรือ C ++) เป็นสิ่งจำเป็นเพื่อให้เป็นโปรแกรมเมอร์ที่ดีหรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการ4 ปีที่แล้ว เมื่อฉันเริ่มเรียนรู้วิธีการเขียนโปรแกรมครั้งแรกโปรแกรมเมอร์จริงสามารถเขียนชุดประกอบได้ในโหมดสลีป การศึกษาที่จริงจังในสาขาวิทยาศาสตร์คอมพิวเตอร์จะรวมถึงการฝึกอบรมและการเขียนโปรแกรมอย่างหนักโดยใช้ชุดประกอบ ที่เปลี่ยนไปจนถึงจุดที่ฉันเห็นองศาวิทยาการคอมพิวเตอร์ที่มีการชุมนุมถ้ารวมอยู่จะถูกผลักไสให้ทำงานที่ได้รับมอบหมายหนึ่งและหนึ่งบทรวมเป็นสองสัปดาห์ทำงานออกจากการศึกษา 4 ปี การเขียนโปรแกรม C / C ++ ดูเหมือนว่าจะได้ติดตามเส้นทางที่คล้ายกัน ฉันไม่แปลกใจอีกต่อไปที่จะสัมภาษณ์ผู้สำเร็จการศึกษาระดับมหาวิทยาลัยที่ไม่ได้ใช้เวลาเขียนโปรแกรมใน C ++ นานกว่าสองสัปดาห์และอ่านหนังสือ C เพียงเล่มเดียว ในขณะที่ CS ที่ร้ายแรงที่สุดยังดูเหมือนจะรวมถึงการเรียนรู้เวลาที่สำคัญและการใช้หนึ่งหรือทั้งสองภาษาแนวโน้มจะชัดเจนต่อการบังคับใช้ C / C ++ ที่น้อยลงในโรงเรียน เป็นไปได้อย่างชัดเจนที่จะทำให้อาชีพมีผลงานที่ดีโดยไม่ต้องอ่านหรือเขียนรหัส C หรือ C ++ บรรทัดเดียว จากที่กล่าวมาทั้งหมดการเรียนรู้ภาษาทั้งสองมีค่ามากกว่าความพยายาม พวกเขาจำเป็นต้องเก่งหรือไม่? (นอกเหนือจากคำแนะนำที่ชัดเจนและไม่ใช่ภาษาเช่น "การเลือกภาษาที่ดีอาจเป็นสิ่งสำคัญสำหรับการศึกษาที่ครอบคลุม" และ "มันอาจเป็นความคิดที่ดีที่จะทดลองและเรียนรู้ภาษาใหม่ ๆ ตลอดอาชีพของโปรแกรมเมอร์ เพื่อยืดเซลล์สีเทา ")

4
มันแย่แค่ไหนที่เรียก println () บ่อยครั้งกว่าการต่อสตริงเข้าด้วยกันและเรียกมันครั้งเดียว?
คำถามนี้ถูกโยกย้ายจาก Code Exchange Stack Stack เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 5 ปีที่ผ่านมา ฉันรู้ว่าผลลัพธ์ไปยังคอนโซลเป็นการดำเนินการที่มีราคาแพง ในความสนใจของการอ่านรหัสบางครั้งมันก็ดีที่จะเรียกฟังก์ชั่นเพื่อส่งออกข้อความสองครั้งแทนที่จะมีสตริงข้อความยาวเป็นอาร์กิวเมนต์ ตัวอย่างเช่นมีประสิทธิภาพน้อยกว่าที่จะมี System.out.println("Good morning."); System.out.println("Please enter your name"); เมื่อเทียบกับ System.out.println("Good morning.\nPlease enter your name"); ในตัวอย่างความแตกต่างเป็นเพียงการโทรหนึ่งครั้งprintln()แต่จะเกิดอะไรขึ้นถ้ามีมากกว่านั้น ในหมายเหตุที่เกี่ยวข้องคำแถลงเกี่ยวกับการพิมพ์ข้อความอาจดูแปลกในขณะที่ดูซอร์สโค้ดหากข้อความที่จะพิมพ์ยาว ถ้าตัวอักษรไม่สามารถทำให้สั้นลงได้สิ่งที่สามารถทำได้? ควรเป็นกรณีที่มีการprintln()โทรหลายสายหรือไม่? มีคนเคยบอกฉันว่าบรรทัดของรหัสไม่ควรเกิน 80 อักขระ (IIRC) ดังนั้นคุณจะทำอย่างไร System.out.println("Good morning everyone. I am here today to present you with a very, …
23 java  c++  performance  c  io 

6
วิธีแก้ปัญหาความคิดเห็นซ้อน
ปรากฏเป็นภาษาเดียวที่ไม่สามารถซ้อนความคิดเห็นได้ คุณมีทางออกที่ดีสำหรับปัญหานี้หรือไม่? วิธีแก้ปัญหาหนึ่งใน C / C ++ และ Java คือการใช้ความคิดเห็นบรรทัดเดียวเท่านั้น แต่มันเป็นไปไม่ได้ที่จะแสดงความคิดเห็นบล็อกขนาดใหญ่ ฉันกำลังเผชิญกับสิ่งนี้: </li><!-- <li><!-- Save --> ดังนั้นฉันต้องผ่านและแก้ไขความคิดเห็นด้วยตนเอง คุณช่วยแนะนำได้ไหมว่าเราควรจัดการเรื่องนี้ในหลาย ๆ ภาษา? ฉันไม่แน่ใจ แต่หลามอาจมีวิธีแก้ปัญหานี้ด้วย'''วิธีที่อาจรวมถึง#ความคิดเห็นในหลาม? `
23 java  c++  python  c  comments 

9
เหตุใดจึงยากที่จะทำให้ C มีแนวโน้มน้อยลงในการบัฟเฟอร์ล้น?
ฉันกำลังทำหลักสูตรอยู่ในวิทยาลัยที่หนึ่งในห้องปฏิบัติการคือการใช้ประโยชน์จากบัฟเฟอร์โอเวอร์โฟลว์บนโค้ดที่พวกเขาให้เรา ช่วงนี้จากการหาประโยชน์ง่าย ๆ เช่นการเปลี่ยนที่อยู่ผู้ส่งคืนสำหรับฟังก์ชั่นในสแต็คเพื่อกลับไปที่ฟังก์ชั่นที่แตกต่างกันไปจนถึงรหัสที่เปลี่ยนสถานะการลงทะเบียน / หน่วยความจำของโปรแกรม ฟังก์ชั่นที่คุณเรียกว่าหลงลืมไปอย่างสิ้นเชิง ฉันได้ทำการวิจัยเกี่ยวกับเรื่องนี้และการใช้ประโยชน์จากการใช้ประโยชน์เหล่านี้ยังมีอยู่ทุกหนทุกแห่งแม้กระทั่งตอนนี้ในสิ่งต่าง ๆ เช่นการใช้ homebrew บน Wiiและการเจลเบรคที่ไม่มีการผูกมัดสำหรับ iOS 4.3.1 คำถามของฉันคือเหตุใดปัญหานี้จึงแก้ไขได้ยาก เห็นได้ชัดว่านี่เป็นช่องโหว่ที่สำคัญที่ใช้ในการแฮ็คหลายร้อยสิ่ง แต่ดูเหมือนว่ามันจะง่ายต่อการแก้ไขโดยการตัดทอนข้อมูลใด ๆ ที่ผ่านมาตามความยาวที่อนุญาตและกำจัดข้อมูลทั้งหมดที่คุณทำ แก้ไข: มุมมองอื่นที่ฉันต้องการคำตอบที่จะต้องพิจารณา - ทำไมผู้สร้างของ C ไม่สามารถแก้ไขปัญหาเหล่านี้ได้โดยการปรับใช้ห้องสมุดใหม่?

5
เหตุใดภาษาการเขียนโปรแกรมยอดนิยมหลายภาษาจึงมีอิทธิพลต่อ C [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ภาษาโปรแกรม 10 อันดับแรกตามดัชนี TIOBEดูเหมือนจะได้รับอิทธิพลอย่างมากจาก C: 1. Java ภาษามาจากไวยากรณ์ส่วนใหญ่จาก C และ C ++ แต่มีโมเดลวัตถุที่ง่ายกว่าและมีสิ่งอำนวยความสะดวกในระดับต่ำน้อยลง - wikipedia.org 2. ค C เป็นหนึ่งในภาษาการเขียนโปรแกรมที่ใช้กันอย่างแพร่หลายตลอดเวลาและมีสถาปัตยกรรมคอมพิวเตอร์น้อยมากที่คอมไพเลอร์ C ไม่มีอยู่ - wikipedia.org 3. C # ในระหว่างการพัฒนา. NET Framework นั้นคลาสไลบรารีถูกเขียนโดยใช้ระบบคอมไพเลอร์โค้ดที่ได้รับการจัดการที่เรียกว่า Simple Managed C (SMC) ในเดือนมกราคม 1999 Anders Hejlsberg ได้จัดตั้งทีมเพื่อสร้างภาษาใหม่ในเวลาที่เรียกว่า Cool ซึ่งย่อมาจาก "C-like …

3
เหตุใด C ++ จึงเป็นที่โดดเด่นในการเขียนโปรแกรมการแข่งขันและการแข่งขัน? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน6 ปีที่ผ่านมา ฉันเข้าใจว่า C ++ เป็นภาษาที่รวดเร็วมาก แต่ไม่ใช่ C เร็วหรือเร็วกว่าในบางกรณี? จากนั้นคุณอาจบอกว่า C ++ มี OOP แต่จำนวน OOP ที่คุณต้องการสำหรับปริศนาการเขียนโปรแกรมส่วนใหญ่นั้นไม่ใหญ่มากและในความคิดของฉัน C จะสามารถจัดการได้ นี่คือเหตุผลที่ฉันถามสิ่งนี้ : ฉันสนใจการเขียนโปรแกรมการแข่งขันและการแข่งขันและฉันคุ้นเคยกับการเขียนโปรแกรมใน C อย่างไรก็ตามฉันสังเกตเห็นว่าคนส่วนใหญ่ใช้ C ++ (เช่น 17 จาก 25 ผู้เข้ารอบสุดท้ายใน Google Code Jam 2011 ใช้มันในขณะที่ไม่มีใครใช้ C) ดังนั้นฉันสงสัยว่าฉันจะเสียเปรียบกับ C. นอกเหนือจากการวางแนววัตถุสิ่งที่ทำให้ภาษา C ++ เป็นภาษาที่เหมาะสมกว่าสำหรับการแข่งขันการเขียนโปรแกรม? คุณสมบัติของภาษาที่ฉันควรเรียนรู้และใช้เพื่อการแข่งขันที่ดีขึ้นคืออะไร สำหรับพื้นหลังฉันคิดว่าตัวเองค่อนข้างเชี่ยวชาญใน …
23 c++  c 

5
ประวัติของ C คอมไพเลอร์คืออะไร?
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 8 ปีที่ผ่านมา เมื่อเราพูดว่า "Dennis Ritchie พัฒนาภาษา C" หมายความว่าเขาได้สร้างคอมไพเลอร์ (โดยใช้ภาษาอื่นที่พัฒนาแล้ว ') ซึ่งสามารถรวบรวมซอร์สโค้ดที่เขียนด้วยภาษา C ได้หรือไม่? ถ้าใช่เขาใช้ภาษาอะไรในการเขียนตัวแปลภาษาซีตัวแรก ฉันเข้าใจคอมไพเลอร์เป็นโปรแกรมและเราสามารถสร้างคอมไพเลอร์อื่นสำหรับภาษา C โดยใช้คอมไพเลอร์ C ที่มีอยู่ในปัจจุบัน ถูกต้องหรือไม่
23 c  compiler 

16
ถ้าฉันไม่รู้จัก C แต่ฉันดีกับ C ++? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการถกเถียงอภิปรายโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Software Engineering Stack Exchange อพยพ 8 ปีที่ผ่านมา ฉันมีคำถามที่ฉันคิดว่าสามารถตอบได้ดีที่สุดที่นี่ ฉันเป็นคนที่ค่อนข้างดีC++และฉันก็คุ้นเคยกับภาษาฉันได้อ่านAccelerated C++และทำแบบฝึกหัดเกือบทั้งหมดแล้ว อย่างไรก็ตามฉันมีปัญหาใหญ่ ฉันจำเป็นต้องเรียนรู้Cหรือไม่? ฉันไม่เคยทำCมาก่อนเลยในชีวิต ฉันเพิ่งเริ่มต้นC++เมื่อฉันเริ่มเขียนโปรแกรม อาจเป็นเพราะฉันสนใจรู้อยู่เสมอว่าทำไมทุกคนเรียกภาษานี้ว่าซับซ้อน ตอนนี้แม้ว่าฉันรู้คำตอบสำหรับคำถามนั้น) ฉันมีความสนใจเป็นพิเศษในการรู้ว่าฉันสามารถอยู่รอดได้โดยไม่ต้องรู้ว่าCในโลกปัจจุบัน เช่นถ้าฉันให้สัมภาษณ์ใน บริษัท ถ้าฉันบอกพวกเขาว่าฉันไม่รู้C- พวกเขาจะใช้มันเป็นปกติหรือไม่? สองภาษาที่ฉันเก่งคือ Python และ C ++ ฉันถามสาเหตุนี้ฉันได้ยินมาว่า บริษัท ถามโครงสร้างข้อมูลในการสัมภาษณ์ ดังนั้นหากพวกเขาขอให้ฉันใช้มันและถ้าฉันทำใน C ++ มันเป็นที่ยอมรับหรือไม่? และคนที่พูดว่า 'คุณจะไม่รู้ C ได้อย่างไรเมื่อคุณ C …
23 c++  c 

7
ใช้จำนวนเต็มไม่ได้ลงนามใน C และ C ++
ฉันมีคำถามง่าย ๆ ที่ทำให้ฉันงุนงงมานาน ฉันกำลังจัดการกับเครือข่ายและฐานข้อมูลดังนั้นข้อมูลจำนวนมากที่ฉันกำลังเผชิญอยู่คือเคาน์เตอร์ 32- บิตและ 64- บิต (ไม่ได้ลงนาม), id รหัส 32- บิตและ 64- บิต (ยังไม่มีแผนที่ที่มีความหมายสำหรับการลงชื่อเข้าใช้) ฉันไม่เคยจัดการกับคำศัพท์จริงใด ๆ ที่สามารถแสดงเป็นจำนวนลบได้ ฉันและเพื่อนร่วมงานของฉันมักใช้ประเภทที่ไม่ได้ลงนามเช่นuint32_tและuint64_tสำหรับเรื่องเหล่านี้และเพราะมันเกิดขึ้นบ่อยครั้งเราจึงใช้พวกเขาสำหรับดัชนีแถวลำดับและการใช้จำนวนเต็มทั่วไปอื่น ๆ ในขณะเดียวกันคู่มือการเข้ารหัสต่างๆที่ฉันกำลังอ่าน (เช่น Google) ไม่สนับสนุนการใช้ประเภทจำนวนเต็มที่ไม่ได้ลงชื่อและเท่าที่ฉันทราบว่า Java หรือ Scala ไม่มีประเภทจำนวนเต็มที่ไม่ได้ลงนาม ดังนั้นฉันไม่สามารถหาสิ่งที่ถูกต้องได้: การใช้ค่าที่มีการเซ็นชื่อในสภาพแวดล้อมของเราจะไม่สะดวกมากในเวลาเดียวกันในขณะเดียวกันแนวทางการเข้ารหัสเพื่อยืนยันในการทำสิ่งนี้
23 c  coding-style 

6
เหตุใดคุณจึงมีคำนิยามวิธีการภายในไฟล์ส่วนหัวใน C ++ เมื่ออยู่ใน C คุณไม่สามารถ?
ใน C คุณไม่สามารถนิยามฟังก์ชัน / การนำไปใช้ภายในไฟล์ส่วนหัว อย่างไรก็ตามใน C ++ คุณสามารถใช้วิธีการเต็มรูปแบบภายในไฟล์ส่วนหัว ทำไมพฤติกรรมต่างกัน
23 c++  c  headers 

1
“ exit (-1)” มาจากไหน?
ฉันเห็นในจำนวนมากซอฟต์แวร์เดิมและบทเรียนที่ไม่ดีบนอินเทอร์เน็ตที่แนะนำให้ใช้exit(-1), return -1หรือคล้ายกันที่จะเป็นตัวแทน "เลิกผิดปกติ" ปัญหาคือใน POSIX อย่างน้อย-1ไม่เคยมีมาก่อนและไม่ใช่รหัสสถานะที่ถูกต้อง man 3 exitแสดงให้เห็นว่าexit()ผลตอบแทนที่คุ้มค่าของการstatus & 0377ไปยังผู้ปกครองที่มีความหมายว่าจะกลายเป็น-1 255สำหรับระบบที่ไม่ใช่ POSIX EXIT_FAILUREขอแนะนำให้พกพาได้ แต่ฉันไม่เคยเห็น "-1 หมายถึงการสิ้นสุดที่ผิดปกติ" ร่วมกับ "EXIT_FAILURE อาจเป็นสิ่งที่นอกเหนือจาก 1" ซึ่งบ่งชี้ว่าพวกเขาเชื่ออย่างชัดเจนว่า "-1" นั้นเป็นเรื่องปกติแม้ในระบบที่ไม่ใช่ POSIX ต่อไปนี้เป็นตัวอย่างของคำถาม StackOverflowที่ทำให้เกิดปัญหานี้ ซอฟต์แวร์ "unrealircd" เป็นตัวอย่างของโปรแกรมที่ใช้exit(-1)ในการยกเลิกโปรแกรม systemdในทางปฏิบัตินี้ทำให้ยากที่จะติดต่อกับ รูปแบบการต่อต้านนี้มาจากไหน มันถูกต้องในบางบริบท?

7
เรียนรู้การเขียนโปรแกรมใน C (มาจาก Python) [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ Software Engineering Stack Exchange ปิดให้บริการใน6 ปีที่ผ่านมา หากนี่ผิดที่จะถามคำถามนี้โปรดแจ้งให้เราทราบ ฉันเป็นโปรแกรมเมอร์งูใหญ่ตามอาชีพ ฉันชอบที่จะเรียนรู้ C. แน่นอนฉันได้ลองมาหลายครั้งแล้ว แต่ฉันรู้สึกท้อแท้อยู่เสมอ ใน Python คุณเขียนสองสามบรรทัดแล้วโปรแกรมก็มหัศจรรย์ ใน C ฉันดูเหมือนจะไม่สามารถทำสิ่งที่มีประโยชน์ได้ ดูเหมือนว่าจะซับซ้อนมากแม้จะเชื่อมต่อกับอินเทอร์เน็ต คุณมีข้อเสนอแนะเกี่ยวกับสิ่งที่ฉันสามารถทำได้เพื่อเรียนรู้ C หรือไม่? มีเว็บไซต์ที่ดีหรือไม่? โครงการเจ๋ง ๆ ขอบคุณ
22 learning  python  c 

6
สไตล์ sizeof: sizeof (ชนิด) หรือตัวแปร sizeof?
ฉันเห็นสองรูปแบบการใช้งานsizeofสำหรับการดำเนินการที่เกี่ยวข้องกับหน่วยความจำ (เช่นในmemsetหรือmalloc): sizeof(type)และ sizeof variable หรือ sizeof(variable) คุณต้องการเลือกแบบใดหรือคุณใช้การผสมผสานระหว่างสองสไตล์และเมื่อใดที่คุณจะใช้แต่ละสไตล์ อะไรคือข้อดีข้อเสียของแต่ละสไตล์และเมื่อคุณใช้พวกเขา? เป็นตัวอย่างฉันสามารถดูคู่ของสถานการณ์ต่อไปนี้ที่ลักษณะหนึ่งช่วยและอีกลักษณะหนึ่งไม่ได้: เมื่อคุณทำให้ตัวชี้ไปทางผิด: type *var; ... memset(var, 0, sizeof var); /* oops */ เมื่อประเภทเปลี่ยนแปลง: new_type var; /* changed from old_type to new_type */ ... memset(&var, 0, sizeof(old_type)); /* oops */
22 c  coding-style 

6
เหตุใด argv หลักของ C / C ++ จึงถูกประกาศเป็น "char * argv []" แทนที่จะเป็น "char * argv"
เหตุใดจึงถูกargvประกาศให้เป็น "ตัวชี้ไปยังตัวชี้ไปยังดัชนีแรกของอาร์เรย์" แทนที่จะเป็น "ตัวชี้ไปยังดัชนีแรกของอาร์เรย์" ( char* argv) เหตุใดจึงต้องใช้แนวคิดของ "ตัวชี้ไปยังตัวชี้"
21 c++  c 

2
ประเภทความกว้างของตัวแปรถูกแทนที่ด้วยประเภทคงที่ในโมเดิร์นซีหรือไม่
ฉันมาข้ามจุดที่น่าสนใจวันนี้ในการตรวจสอบมากกว่าเมื่อรหัสตรวจสอบ @Veedrac recommened ในคำตอบนี้ว่าประเภทขนาดตัวแปร (เช่นintและlong) ถูกแทนที่ด้วยประเภทขนาดคงที่เหมือนและuint64_t uint32_tการอ้างอิงจากความคิดเห็นของคำตอบนั้น: ขนาดของ int และ long (และค่าที่สามารถเก็บได้) นั้นขึ้นอยู่กับแพลตฟอร์ม ในทางตรงกันข้าม int32_t จะยาว 32 บิตเสมอ การใช้ int เพียงหมายความว่าโค้ดของคุณทำงานแตกต่างกันไปตามแพลตฟอร์มต่าง ๆ ซึ่งโดยทั่วไปไม่ใช่สิ่งที่คุณต้องการ เหตุผลที่อยู่เบื้องหลังมาตรฐานไม่ได้กำหนดชนิดที่พบจะมีการอธิบายบางส่วนที่นี่โดย @supercat C ถูกเขียนเป็นแบบพกพาข้ามสถาปัตยกรรมในทางตรงกันข้ามกับการชุมนุมซึ่งมักจะใช้สำหรับการเขียนโปรแกรมระบบในเวลา ฉันคิดว่าความตั้งใจในการออกแบบนั้น แต่เดิมนั้นแต่ละประเภทอื่น ๆ นอกเหนือจาก int เป็นสิ่งที่เล็กที่สุดที่สามารถรองรับตัวเลขขนาดต่างๆและ int นั้นเป็นขนาด "วัตถุประสงค์ทั่วไป" ที่ใช้งานได้จริงที่สุดที่สามารถจัดการ +/- 32767 สำหรับฉันฉันมักจะใช้intและไม่ได้กังวลเกี่ยวกับทางเลือก ฉันคิดเสมอว่ามันเป็นประเภทที่มีประสิทธิภาพดีที่สุดจบเรื่อง ที่เดียวที่ฉันคิดว่าความกว้างคงที่จะมีประโยชน์คือเมื่อเข้ารหัสข้อมูลสำหรับการจัดเก็บหรือถ่ายโอนผ่านเครือข่าย ฉันเคยเห็นประเภทความกว้างคงที่ในโค้ดที่เขียนโดยคนอื่นด้วย ฉันติดอยู่ในยุค 70 หรือมีเหตุผลintในการใช้งานในยุค C99 หรือไม่?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.