คอมไพเลอร์ C ออนไลน์

รันและดีบัก C code ได้ทันทีบน CLI จำลองในเบราว์เซอร์ เรียนรู้และทดสอบ code ของคุณได้ง่ายๆ โดยไม่ต้องติดตั้ง

🚀 365,356 การดำเนินการทั้งหมด (45,066 ในเดือนนี้)

Udemy Logo 📈 C/C++ กำลังมาแรง — เรียนวันนี้เลย

Loading...

🧩 เกี่ยวกับตัวรัน C ออนไลน์นี้

CodeUtility C Executor ช่วยให้คุณเขียนและรันโปรแกรม C ได้โดยตรงในเบราว์เซอร์ของคุณ — ไม่ต้องติดตั้งหรือเซ็ตอัพคอมไพเลอร์ มันทำงานบน sandbox ที่ปลอดภัยและรองรับมาตรฐาน C จริงๆ รวมถึง C89, C99, C11 และเวอร์ชันล่าสุด

เครื่องมือนี้ใช้คอมไพเลอร์ C จริงที่รันอยู่บนคลาวด์เพื่อคอมไพล์และรันโค้ดของคุณ ให้ผลลัพธ์เหมือนสภาพแวดล้อมจริง คุณสามารถทดสอบโค้ดสั้นๆ เรียนรู้ไวยากรณ์ หรือฝึกเขียนโปรแกรมเต็มรูปแบบที่มีอินพุตและเอาต์พุตได้อย่างง่ายดาย

เครื่องมือนี้ถูกออกแบบมาเพื่อช่วยผู้เรียนและนักพัฒนาให้ทดลองพื้นฐานของ C ได้อย่างรวดเร็ว — เช่น ชนิดข้อมูล, พอยน์เตอร์, ลูป, ฟังก์ชัน, อาเรย์ และสตรักเจอร์ — โดยไม่ต้องติดตั้งคอมไพเลอร์หรือ IDE ใดๆ

⚙️ วิธีใช้งานเครื่องมือนี้

  • 1. เลือกเวอร์ชันของ C (C89, C99, C11 หรือ ล่าสุด) จากดรอปดาวน์ที่ด้านบนของตัวแก้ไข
  • 2. เขียนหรือวางโค้ด C ของคุณในพื้นที่ตัวแก้ไข
  • 3. คลิก รัน เพื่อคอมไพล์และรันโปรแกรมของคุณ — เอาต์พุตจะแสดงในคอนโซลด้านล่าง
  • 4. ระหว่างกำลังรัน จะมีปุ่ม หยุด ปรากฏ — คลิกเพื่อหยุดการรันก่อนกำหนด
  • 5. ใช้ แก้โค้ด เพื่อแก้ปัญหาการจัดรูปแบบหรือไวยากรณ์เล็กๆ น้อยๆ โดยอัตโนมัติ
  • 6. หลังการแก้ จะมีปุ่ม การแก้ไข ปรากฏ — คลิกเพื่อดูการแก้ไขล่าสุด
  • 7. ใช้ปุ่ม อัปโหลด เพื่อดึงโค้ดจากไฟล์ในเครื่อง หรือปุ่ม ดาวน์โหลด เพื่อบันทึกโค้ดปัจจุบันจากตัวแก้ไข
  • 8. การรันแต่ละครั้งทำงานได้สูงสุด 20 วินาที ก่อนจะหยุดโดยอัตโนมัติ

🧠 เคล็ดลับ: สภาพแวดล้อมนี้รันโค้ด C จริงอย่างปลอดภัยในเบราว์เซอร์ของคุณ — ไม่ต้องล็อกอินหรือเซ็ตอัพบนเครื่อง

💡 พื้นฐาน C และตัวอย่างที่คุณลองได้ด้านบน

1. การประกาศตัวแปรและค่าคงที่

C ต้องการให้คุณระบุชนิดของตัวแปรทุกตัว ใช้ #define หรือ const เพื่อกำหนดค่าที่อ่านได้อย่างเดียว

int age = 30;
double pi = 3.14159;
char grade = 'A';
char name[] = "Alice";
bool isActive = 1; // จริง

// ค่าคงที่
#define MAX_USERS 100
const char* COMPANY = "CodeUtility";

2. คำสั่งเงื่อนไข (if / switch)

ใช้ if, else if และ switch สำหรับการตัดสินใจ

int x = 2;
if (x == 1) {
    printf("หนึ่ง\n");
} else if (x == 2) {
    printf("สอง\n");
} else {
    printf("อื่นๆ\n");
}

switch (x) {
    case 1:
        printf("หนึ่ง\n");
        break;
    case 2:
        printf("สอง\n");
        break;
    default:
        printf("อื่นๆ\n");
}

3. ลูป

ใช้ for, while และ do-while สำหรับการทำซ้ำ

for (int i = 0; i < 3; i++) {
    printf("%d\n", i);
}

int n = 3;
while (n > 0) {
    printf("%d\n", n);
    n--;
}

4. อาเรย์

อาเรย์เก็บองค์ประกอบหลายตัวที่มีชนิดเดียวกัน

int numbers[3] = {10, 20, 30};
printf("%d\n", numbers[1]);

5. Struct

struct ช่วยจัดกลุ่มข้อมูลที่เกี่ยวข้องกัน

struct Person {
    char name[50];
    int age;
};

struct Person p = {"Alice", 30};
printf("%s อายุ %d ปี\n", p.name, p.age);

6. อินพุต/เอาต์พุตผ่านคอนโซล

ใช้ printf และ scanf สำหรับ I/O บนคอนโซล

char name[50];
printf("กรอกชื่อของคุณ: ");
scanf("%s", name);
printf("สวัสดี, %s\n", name);

7. ฟังก์ชัน

ฟังก์ชันช่วยห่อหุ้มลอจิกที่นำกลับมาใช้ซ้ำได้ ระบุชนิดค่าที่ส่งกลับ ชื่อ และพารามิเตอร์

int add(int a, int b) {
    return a + b;
}

printf("%d\n", add(3, 4));

8. พอยน์เตอร์

ใช้พอยน์เตอร์เพื่อเก็บที่อยู่หน่วยความจำและจัดการข้อมูลทางอ้อม

int x = 10;
int* ptr = &x;

printf("ค่า x: %d\n", x);
printf("ที่อยู่ของ x: %p\n", ptr);
printf("ค่าจากพอยน์เตอร์: %d\n", *ptr);

*ptr = 20;
printf("ค่า x ที่อัปเดต: %d\n", x);

9. การทำงานกับไฟล์ (File I/O)

ใช้ fopen, fprintf, fscanf และ fclose สำหรับการทำงานกับไฟล์

FILE* file = fopen("file.txt", "w");
fprintf(file, "สวัสดีไฟล์");
fclose(file);

char line[100];
file = fopen("file.txt", "r");
fgets(line, sizeof(line), file);
printf("%s", line);
fclose(file);

10. การจัดการสตริง

ใช้ฟังก์ชันจาก <string.h> เช่น strlen, strcpy และ strcmp.

#include <string.h>

char text[] = "สวัสดี";
char copy[10];

strcpy(copy, text);
printf("ความยาว: %lu\n", strlen(copy));
printf("เปรียบเทียบ: %d\n", strcmp(copy, "สวัสดี"));

11. หน่วยความจำแบบไดนามิก

ใช้ malloc และ free สำหรับการจัดสรรหน่วยความจำบนฮีป

int* nums = (int*) malloc(3 * sizeof(int));
nums[0] = 1; nums[1] = 2; nums[2] = 3;

for (int i = 0; i < 3; i++) {
    printf("%d ", nums[i]);
}

free(nums);