หน้าแรก
หน้าแรก
ที่นี่เราจะดูว่าการเพิ่มขึ้นล่วงหน้าและการเพิ่มภายหลังใน C หรือ C ++ คืออะไร การเพิ่มก่อนและหลังการเพิ่มทั้งสองเป็นโอเปอเรเตอร์ส่วนเพิ่ม แต่ก็มีความแตกต่างกันเล็กน้อย ตัวดำเนินการส่วนเพิ่มล่วงหน้าจะเพิ่มค่าของตัวแปรในตอนแรก จากนั้นจึงส่งค่าที่กำหนดให้กับตัวแปรอื่น แต่ในกรณีของ postincrement ค่านั้น
เราใช้ตัวแปรจำนวนเต็มและอักขระหลายครั้งในโปรแกรมของเรา เราจะมาดูกันว่าพวกมันถูกเก็บไว้ในหน่วยความจำอย่างไร ใน C ค่าอักขระจะถูกเก็บไว้เป็นจำนวนเต็มด้วย ในโค้ดต่อไปนี้ เราจะใส่ 270 ลงในข้อมูลประเภทอักขระ ดังนั้นเลขฐานสองที่เทียบเท่า 270 คือ 100001110 แต่รับ 8 บิตแรกจากขวาเท่านั้น ดังนั้นผลลัพธ์จะเป็น
เรารู้ว่าเราจำเป็นต้องประกาศตัวแปรก่อนที่จะใช้ในโค้ดของเรา อย่างไรก็ตาม เราสามารถกำหนดตัวแปรได้ด้วย 0 หรือ 1 โดยไม่ต้องประกาศ ในตัวอย่างต่อไปนี้ เราจะเห็นสิ่งนี้ ตัวอย่าง #include <stdio.h> #include <stdlib.h> x, y, array[3]; // implicit initialization of some variables int main(i) { &nb
ใน C หรือ C++ ตัวแปรจะถูกเก็บไว้ในหน่วยความจำ ดังนั้นเราจึงสามารถรับที่อยู่หน่วยความจำได้ ในทำนองเดียวกัน ฟังก์ชันต่างๆ ก็ถูกเก็บไว้ในหน่วยความจำด้วย ดังนั้นจึงมีที่อยู่บางส่วนด้วย ในการรับที่อยู่ เราสามารถใช้ชื่อฟังก์ชันได้โดยไม่ต้องใช้วงเล็บ โปรดตรวจสอบโปรแกรมต่อไปนี้เพื่อให้ได้แนวคิดที่ชัดเจน ตั
ข้อมูลประเภทอักขระถูกจัดเก็บโดยค่า ASCII ภายใน C หรือ C++ หากเราต้องการพิมพ์อักขระตัวเดียวเป็นจำนวนเต็ม เราจะได้ค่า ASCII แต่เมื่อเราพยายามพิมพ์อักขระมากกว่าหนึ่งตัวโดยใช้เครื่องหมายคำพูดเดียว มันจะพิมพ์ผลลัพธ์แปลกๆ ออกมา โปรดตรวจสอบโปรแกรมต่อไปนี้เพื่อรับแนวคิด ตัวอย่าง #include <stdio.h> in
ฟังก์ชันไลบรารี C int mbtowc(whcar_t *pwc, const char *str, size_t n) แปลงลำดับหลายไบต์เป็นอักขระแบบกว้าง ต่อไปนี้เป็นการประกาศสำหรับฟังก์ชัน mbtowc() int mbtowc(whcar_t *pwc, const char *str, size_t n) พารามิเตอร์คือ − pwc − นี่คือตัวชี้ไปยังวัตถุประเภท wchar_t str − นี่คือตัวชี้ไปยังไบต์แร
บางครั้ง คุณอาจเจอสถานการณ์หนึ่ง เมื่อคุณต้องการมีฟังก์ชัน ซึ่งสามารถรับจำนวนตัวแปรของอาร์กิวเมนต์ เช่น พารามิเตอร์ แทนที่จะเป็นจำนวนพารามิเตอร์ที่กำหนดไว้ล่วงหน้า ภาษาการเขียนโปรแกรม C/C++ จัดเตรียมวิธีแก้ปัญหาสำหรับสถานการณ์นี้ และคุณได้รับอนุญาตให้กำหนดฟังก์ชันที่ยอมรับตัวแปรจำนวนตัวแปรตามความต้อ
เราจะมาดูวิธีการเขียนฟังก์ชัน one-line C ที่สามารถปัดเศษตัวเลขทศนิยมได้ เพื่อแก้ปัญหานี้ เราต้องทำตามขั้นตอนเหล่านี้ รับเลข ถ้าตัวเลขเป็นบวก ให้บวก 0.5 มิฉะนั้น ให้ลบ 0.5 แปลงค่าทศนิยมให้เป็นจำนวนเต็มโดยใช้ typecasting ตัวอย่าง #include <stdio.h> int my_round(float number) { &nb
เราจะมาดูวิธีการเปลี่ยนผลลัพธ์ของฟังก์ชัน printf() จาก main() ที่นี่เราจะกำหนดฟังก์ชันที่จะเปลี่ยนคำสั่ง printf() ทั้งหมดด้วยประเภทที่กำหนดเป็นประเภทอื่น เราจะใช้มาโคร #define เพื่อทำงานนี้ มาโครนี้จะถูกกำหนดไว้ภายในฟังก์ชัน เราสามารถใส่ #define บรรทัดได้โดยตรงโดยไม่ต้องใช้มันในฟังก์ชัน แต่ในกรณีนั
ที่นี่เราจะมาดูวิธีการคำนวณเวลาที่ใช้โดยกระบวนการ สำหรับปัญหานี้ เราจะใช้ฟังก์ชัน clock() clock() มีอยู่ในไฟล์ส่วนหัว time.h เพื่อให้ได้เวลาที่ผ่านไป เราสามารถหาเวลาโดยใช้ clock() ที่จุดเริ่มต้นและจุดสิ้นสุดของงาน จากนั้นลบค่าเพื่อให้ได้ส่วนต่าง หลังจากนั้น เราจะหารส่วนต่างด้วย CLOCK_PER_SEC (จำนวน
ในส่วนนี้ เราจะมาดูกันว่า setjump และ longjump คืออะไรใน C โดย setjump() และ longjump() จะอยู่ที่ไลบรารี setjmp.h ไวยากรณ์ของฟังก์ชันทั้งสองนี้มีลักษณะดังนี้ setjump(jmp_buf buf) : uses buf to store current position and returns 0. longjump(jmp_buf buf, i) : Go back to place pointed by buf and return
ที่นี่เราจะเห็นสามฟังก์ชั่น ฟังก์ชันเหล่านี้คือ trunc(), truncf() และ truncl() ฟังก์ชันเหล่านี้ใช้เพื่อแปลงค่าทศนิยมให้อยู่ในรูปแบบที่ถูกตัดทอน ฟังก์ชัน trunc() ฟังก์ชันนี้ใช้เพื่อตัดทอนค่าประเภทคู่ และส่งคืนเฉพาะส่วนจำนวนเต็ม ไวยากรณ์เป็นเหมือนด้านล่าง double trunc(double argument) ตัวอย่าง #inclu
ในที่นี้เราจะมาดูวิธีรับโมดูลัสของข้อมูลประเภทลอยตัวหรือสองประเภทใน C โดยพื้นฐานแล้วโมดูลัสคือการค้นหาส่วนที่เหลือ สำหรับสิ่งนี้ เราสามารถใช้ฟังก์ชัน rester() ใน C ได้ ฟังก์ชัน restder() ใช้เพื่อคำนวณจุดทศนิยมที่เหลือของตัวเศษ/ตัวส่วน ดังนั้นส่วนที่เหลือ (x, y) จะเป็นดังนี้ remainder(x, y) = x &nda
ในส่วนนี้เราจะมาดูวิธีดูชื่อโฮสต์และที่อยู่ IP ของระบบภายในด้วยวิธีที่ง่ายกว่า เราจะเขียนโปรแกรม C เพื่อค้นหาชื่อโฮสต์และ IP ใช้ฟังก์ชันบางอย่างต่อไปนี้ ฟังก์ชันเหล่านี้มีหน้าที่ต่างกัน ให้เราดูหน้าที่และงานของพวกเขา ฟังก์ชัน คำอธิบาย gethostname() ค้นหาชื่อโฮสต์มาตรฐานสำหรับเครื่องคอมพิวเตอร์ท้อ
ในส่วนนี้เราจะมาดูวิธีการพิมพ์ตัวเลข 100 ครั้งในภาษา C มีข้อจำกัดบางประการ เราไม่สามารถใช้การวนซ้ำ การเรียกซ้ำ หรือการขยายมาโครได้ เพื่อแก้ปัญหานี้ เราจะใช้ setjump และ longjump ใน C โดย setjump() และ longjump() จะอยู่ที่ไลบรารี setjmp.h ไวยากรณ์ของฟังก์ชันทั้งสองนี้มีดังต่อไปนี้ ตัวอย่าง #include
ในส่วนนี้เราจะมาดูกันว่าเราจะหาขนาดของอาร์เรย์จำนวนเต็มใน C หรือ C++ ได้อย่างไร ขนาดของ int[] นั้นโดยทั่วไปแล้วจะนับจำนวนองค์ประกอบภายในอาร์เรย์นั้น เพื่อให้ได้สิ่งนี้ เราสามารถใช้ตัวดำเนินการ sizeof() หากชื่ออาร์เรย์ถูกส่งผ่านภายใน sizeof() มันจะคืนค่าขนาดรวมของบล็อกหน่วยความจำที่ถูกครอบครองโดยอาร์
ใน C หรือ C ++ ค่าอักขระจะถูกเก็บไว้เป็นค่า ASCII ในการแปลงเป็น ASCII เราสามารถเพิ่ม ASCII ของอักขระ 0 ด้วยจำนวนเต็มได้ ให้เราดูตัวอย่างการแปลงค่าเป็น ASCII ตัวอย่าง #include<stdio.h> int intToAscii(int number) { return '0' + number; } main() { printf("Th
ใน C เราได้เห็นตัวระบุรูปแบบที่แตกต่างกัน ที่นี่เราจะเห็นตัวระบุรูปแบบอื่นที่เรียกว่า %p ใช้สำหรับพิมพ์ข้อมูลประเภทตัวชี้ เรามาดูตัวอย่างเพื่อทำความเข้าใจกันดีกว่า ตัวอย่าง #include<stdio.h> main() { int x = 50; int *ptr = &x; printf("The address
เราจะมาดูกันว่า %p และ %x มีความแตกต่างกันอย่างไรในภาษา C หรือ C++ %p ใช้เพื่อพิมพ์ค่าตัวชี้ และ %x ใช้เพื่อพิมพ์ค่าเลขฐานสิบหก แม้ว่าตัวชี้ยังสามารถแสดงได้โดยใช้ %u หรือ %x หากเราต้องการพิมพ์ค่าบางอย่างโดยใช้ %p และ %x เราจะไม่รู้สึกถึงความแตกต่างที่สำคัญใดๆ ความแตกต่างเพียงอย่างเดียวที่สามารถสังเก
ที่นี่เราจะมาดูกันว่าอะไรคือความแตกต่างระหว่าง qsort() ใน C และ sort() ใน C++ C มีฟังก์ชัน qsort() ที่สามารถใช้ในการเรียงลำดับอาร์เรย์ อาร์กิวเมนต์และไวยากรณ์ของฟังก์ชันมีลักษณะดังนี้ void qsort(void *base, size_t num, size_t size, int (*comparator) (const void*, const void*)); ฟังก์ชันนี้ใช้ที่อย