หน้าแรก
หน้าแรก
ที่นี่เราจะดูว่าการใช้ ldexp() วิธีการใน C หรือ C ++ คืออะไร ฟังก์ชันนี้จะคืนค่าตัวแปร x ยกกำลังของค่า exp ต้องใช้สองอาร์กิวเมนต์ x และ exp ไวยากรณ์เป็นเหมือนด้านล่าง float ldexp (float x, int exp) double ldexp (double x, int exp) long double ldexp (long double x, int exp) double ldexp (T x, int ex
ฟังก์ชัน wcstoll() ใช้เพื่อแปลงสตริงอักขระแบบกว้างเป็นจำนวนเต็มแบบยาว มันตั้งค่าตัวชี้ให้ชี้ไปที่อักขระตัวแรกหลังจากตัวสุดท้าย ไวยากรณ์เป็นเหมือนด้านล่าง long long wcstoll(const wchar_t* str, wchar_t** str_end, int base) ฟังก์ชันนี้รับสามอาร์กิวเมนต์ อาร์กิวเมนต์เหล่านี้เป็นเหมือนด้านล่าง − str: น
ในไลบรารี cstdlib ของ C++ มีฟังก์ชันต่างๆ ในการรับค่าสัมบูรณ์ ยกเว้นจาก abs โดยทั่วไปจะใช้ abs สำหรับอินพุตประเภท int ใน C และ int ยาวและยาวใน C ++ ส่วนอื่นๆ ใช้สำหรับข้อมูลแบบยาวและแบบยาว เป็นต้น เรามาดูการใช้งานของฟังก์ชันเหล่านี้กัน ฟังก์ชัน abs() ฟังก์ชันนี้ใช้สำหรับข้อมูลประเภท int ดังนั้นนี่จ
ในที่นี้เราจะมาดูกันว่าฟังก์ชัน C ชนิดต่างๆ มีอะไรบ้างตามค่าที่ส่งกลับและอาร์กิวเมนต์ ดังนั้นฟังก์ชันสามารถรับอาร์กิวเมนต์หรือไม่มีการรับค่าใด ๆ ในทำนองเดียวกัน ฟังก์ชันสามารถส่งคืนบางสิ่งได้ มิฉะนั้น จะไม่ส่งคืนสิ่งใดเลย เราจึงจำแนกได้เป็น 4 ประเภท ฟังก์ชันที่ไม่มีอาร์กิวเมนต์และไม่มีประเภทส่งคืน
ที่นี่เราจะเห็นฟังก์ชัน kbhit ใน C โดยพื้นฐานแล้ว kbhit คือ Keyboard Hit ฟังก์ชันนี้มีอยู่ในไฟล์ส่วนหัว conio.h ดังนั้นสำหรับการใช้สิ่งนี้ เราต้องรวมไฟล์ส่วนหัวนี้ไว้ในโค้ดของเรา ฟังก์ชันของ kbhit() คือเมื่อกดปุ่ม จะส่งกลับค่าที่ไม่ใช่ศูนย์ มิฉะนั้นจะคืนค่าศูนย์ ตัวอย่าง #include <stdio.h> #i
ในส่วนนี้เราจะมาดูวิธีการตรวจสอบว่าอักขระที่กำหนดเป็นตัวเลขหรือตัวอักษรหรืออักขระพิเศษบางตัวใน C. ตัวอักษรมาจาก A - Z และ a - z จากนั้นตัวเลขจะอยู่ระหว่าง 0 - 9 และอักขระอื่นทั้งหมดเป็นอักขระพิเศษ ดังนั้นหากเราตรวจสอบเงื่อนไขโดยใช้เกณฑ์เหล่านี้ เราก็สามารถหาได้ง่าย ตัวอย่าง #include <stdio.h>
ฟังก์ชัน sizeof (บางครั้งเรียกว่าโอเปอเรเตอร์) ใช้ในการคำนวณขนาดของอาร์กิวเมนต์ที่กำหนด หากใช้ฟังก์ชันอื่นเป็นอาร์กิวเมนต์ ฟังก์ชันนั้นจะไม่ถูกดำเนินการตามขนาดของ ในตัวอย่างต่อไปนี้ เราจะใส่คำสั่ง printf() หนึ่งคำสั่งในลูป แล้วเราจะเห็นผลลัพธ์ ตัวอย่าง #include<stdio.h> double my_function() {
เราจะมาดูวิธีการสร้างตัวเลขสุ่มซึ่งตามมาด้วยการแจกแจงแบบปกติ สำหรับการสุ่มปกติจะมีสูตรดังนี้ 𝑧 = √−2 ln 𝑥1 cos (2𝜋𝑥2) ที่นี่ x1 และ x2 จะถูกสุ่มเลือก ตัวอย่าง #include <cstdlib> #include <cmath> #include <ctime> #include <iostream> using namespace std; double
ที่นี่เราจะมาดูวิธีการตรวจสอบว่าอินพุตที่กำหนดเป็นสตริงจำนวนเต็มหรือสตริงปกติหรือไม่ สตริงจำนวนเต็มจะเก็บอักขระทั้งหมดที่อยู่ในช่วง 0 - 9 วิธีแก้ปัญหานั้นง่ายมาก เราจะพิจารณาแต่ละอักขระทีละตัว และตรวจสอบว่าเป็นตัวเลขหรือไม่ หากเป็นตัวเลข ให้ชี้ไปที่ถัดไป ไม่เช่นนั้นให้คืนค่าเท็จ ตัวอย่าง #include &l
ในบางกรณี เราใช้ long long ใน C หรือ C++ ทีนี้มาดูว่าโดยทั่วไปแล้ว long คืออะไร? long long นั้นใช้หน่วยความจำมากเป็นสองเท่าของความยาว ในระบบต่างๆ พื้นที่หน่วยความจำที่จัดสรรจะแตกต่างกัน ในสภาพแวดล้อม Linux ความยาวใช้พื้นที่ 64 บิต (8 ไบต์) และความยาวยาวใช้พื้นที่ 128 บิต (16 ไบต์) ใช้เมื่อเราต้องการ
บางครั้งเราจะเห็นว่าคำจำกัดความของฟังก์ชันหลักมีสองประเภท int main() และ int main(void) แล้วมีความแตกต่างหรือไม่? ใน C ++ ไม่มีความแตกต่าง ใน C ก็ถูกต้องทั้งคู่ แต่อันที่สองดีกว่าในทางเทคนิค ระบุว่าฟังก์ชันไม่มีอาร์กิวเมนต์ใดๆ ใน C หากฟังก์ชันบางอย่างไม่ได้ระบุด้วยอาร์กิวเมนต์ ก็สามารถเรียกฟังก์ชัน
เรารู้ว่าเราสามารถใช้อาร์กิวเมนต์ความยาวผันแปรสำหรับฟังก์ชันใน C ได้ เพื่อที่เราจะต้องใช้จุดไข่ปลา (…) ในทำนองเดียวกันสำหรับมาโคร เราสามารถใช้อาร์กิวเมนต์ความยาวผันแปรได้ ที่นี่เราต้องรวมจุดไข่ปลาด้วย __VA_ARGS__ ใช้เพื่อจัดการอาร์กิวเมนต์ความยาวผันแปร โอเปอเรเตอร์การต่อ ## ใช้เพื่อเชื่อมอาร์กิวเมนต
#define คือคำสั่งของตัวประมวลผลล่วงหน้า ดังนั้นเมื่อเรากำหนดมาโครบางตัวโดยใช้ #define มันจะแทนที่โค้ดด้วยค่าของมันก่อนการคอมไพล์ ดังนั้นเมื่อคอมไพเลอร์ไม่รู้อะไรเกี่ยวกับโค้ดเลย ในขณะนั้นค่ามาโครก็จะถูกแทนที่ด้วย ค่าคงที่เป็นตัวแปรจริงๆ โดยการประกาศตัวแปรนี้ จะใช้หน่วยหน่วยความจำ แต่เราไม่สามารถอัป
เราเคยเห็นบางครั้งสร้างสตริงโดยใช้ char s[] หรือบางครั้ง char *s ทีนี้มาดูกันว่ามีความแตกต่างกันอย่างไร? มีความแตกต่างบางอย่าง s[] คืออาร์เรย์ แต่ *s เป็นตัวชี้ ตัวอย่างเช่น หากการประกาศสองครั้งเป็นเหมือน char s[20] และ char *s ตามลำดับ โดยใช้ sizeof() เราจะได้ 20 และ 4 อันแรกจะเป็น 20 เนื่องจากแสด
ใน C หรือ C++ เราได้ใช้คำสั่ง switch-case ในคำสั่ง switch เราส่งค่าบางค่า และใช้กรณีที่แตกต่างกัน เราสามารถตรวจสอบค่าได้ ในที่นี้เราจะเห็นว่าเราสามารถใช้ range ในคำสั่ง case ได้ ไวยากรณ์ของการใช้ range ใน Case จะเป็นดังนี้ − กรณีต่ำ … สูง หลังจากเขียนตัวพิมพ์แล้ว เราต้องใส่ค่าที่ต่ำกว่า ตามด้วยช่อ
หากบางฟังก์ชันไม่มีประเภทการส่งคืน ดังนั้นประเภทการส่งคืนจะเป็นโดยปริยาย หากไม่มีประเภทการส่งคืน ระบบจะไม่สร้างข้อผิดพลาดใดๆ อย่างไรก็ตาม เวอร์ชัน C99 ไม่อนุญาตให้ละเว้นประเภทการส่งคืนแม้ว่าจะเป็น int ตัวอย่าง #include<stdio.h> my_function(int x) { return x * 2; } main(void) { &nb
ในบางแอปพลิเคชัน เราพบว่ามีการประกาศฟังก์ชันบางอย่างภายในฟังก์ชันอื่น บางครั้งเรียกว่าฟังก์ชันที่ซ้อนกัน แต่จริงๆ แล้ว นี่ไม่ใช่ฟังก์ชันที่ซ้อนกัน สิ่งนี้เรียกว่าการกำหนดขอบเขตคำศัพท์ การกำหนดขอบเขตคำศัพท์ไม่ถูกต้องใน C เนื่องจากคอมไพเลอร์ไม่สามารถเข้าถึงตำแหน่งหน่วยความจำที่ถูกต้องของฟังก์ชันภายในไ
ใน C เราสามารถส่งพารามิเตอร์ได้สองวิธี นี่คือการโทรตามมูลค่าและการโทรตามที่อยู่ ใน C ++ เราสามารถรับเทคนิคอื่นได้ สิ่งนี้เรียกว่าการโทรโดยการอ้างอิง ให้เราดูผลกระทบของสิ่งเหล่านี้และวิธีการทำงาน อันดับแรกเราจะเห็นการโทรตามมูลค่า ในเทคนิคนี้ พารามิเตอร์จะถูกคัดลอกไปยังอาร์กิวเมนต์ของฟังก์ชัน ดังนั้น
หน่วยความจำรั่วเกิดขึ้นเมื่อชิ้นส่วนของหน่วยความจำที่โปรแกรมเมอร์จัดสรรไว้ก่อนหน้านี้ จากนั้นโปรแกรมเมอร์จะไม่ได้รับการจัดสรรคืนอย่างเหมาะสม หน่วยความจำนั้นไม่ได้ใช้โดยโปรแกรมอีกต่อไป ดังนั้นสถานที่นั้นจึงถูกสงวนไว้โดยไม่มีเหตุผล เหตุนี้จึงเรียกว่าหน่วยความจำรั่ว สำหรับหน่วยความจำรั่ว หน่วยความจำบา
ที่นี่เราจะดูวิธีการพิมพ์การแสดงหน่วยความจำของตัวแปร C ที่นี่เราจะแสดงจำนวนเต็ม ทุ่น และตัวชี้ เพื่อแก้ปัญหานี้ เราต้องทำตามขั้นตอนเหล่านี้ - รับที่อยู่และขนาดของตัวแปร พิมพ์ที่อยู่ไปยังตัวชี้อักขระเพื่อรับที่อยู่ไบต์ ตอนนี้วนสำหรับขนาดของตัวแปรและพิมพ์ค่าของตัวชี้แบบพิมพ์ ตัวอย่าง #include <s