Cオンラインコンパイラ&デバッガー

サーバーモードのGDBでブレークポイント、変数確認、ステップ実行を使ってCをデバッグできます。

🚀 1,150,969 合計実行 (52,811 今月)

Udemy Logo ✨ 多くの人に選ばれているCコース

読み込み中…

💡 スキルを向上させたいですか?これらのコースが役立つ場合があります。AI モデルがリクエストを処理している間にチェックしてください。

トピックから探す

実践コード、出力、メモリモデル、データ構造、アルゴリズム、モダンC++を通してCとC++を比較しながら学びます。

C/C++サンプル →

🧩 この C オンライン実行環境について

CodeUtility C Executor は、ブラウザ上で直接 C プログラムを記述・実行できるツールです — インストールやコンパイラの設定は不要です。C89、C99、C11、そして最新バージョンなど、実際の C 規格に対応した安全なサンドボックスで動作します。

このツールはクラウド上で実際の C コンパイラを動かしており、ネイティブ環境と同様にコードをコンパイル・実行します。 スニペットのテスト、文法の学習、入出力を含むプログラム全体の練習が簡単に行えます。

学習者や開発者が、データ型、ポインタ、ループ、関数、配列、構造体などの C の基礎をすばやく試せるように設計されています — コンパイラや IDE をインストールする必要はありません。

単なるコードランナーではありません

同じ実行環境で、複数ファイル対応エディター、分離された実行ターミナル、ランタイム別ライブラリ、永続ワークスペース、共有、リアルタイム共同作業を利用できます。

この実行環境の使い方

ランタイムを選択し、ファイルを開くか作成してコードを記述し、[実行]を選択します。出力はターミナルに表示されます。サインインしたユーザーは、ワークスペースにファイルを保存し、ライブラリをインストールして、共有を通じて共同作業できます。

  1. バージョンを選択して現在のファイルを編集するか、ワークスペース内の別のファイルを開きます。
  2. コードを実行し、求められた場合はターミナルに入力して、保存された実行履歴を確認します。
  3. 複数のコードスニペットが必要な作業では、ライブラリ、ワークスペースツール、共有、チャットを利用します。

💡 上で試せる 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 Person {
    char name[50];
    int age;
};

struct Person p = {"Alice", 30};
printf("%s は %d 歳です\n", p.name, p.age);

6. コンソール入出力

コンソール I/O には printf と scanf を使います。

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. ファイル 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[] = "Hello";
char copy[10];

strcpy(copy, text);
printf("長さ: %lu\n", strlen(copy));
printf("比較: %d\n", strcmp(copy, "Hello"));

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);

🐞 %{language}コードをオンラインでデバッグする方法

オンライン%{language}デバッガーなら、コンパイラやIDEをインストールせずに実行時エラーやロジックエラーを調査できます。サーバーモードはデバッグ情報付きでコンパイルし、GDBで実行します。

  1. 行番号の横にブレークポイントを設定します。
  2. Debugを選択してコンパイルし、最初のブレークポイントで停止します。
  3. 現在行、コールスタック、変数を確認します。
  4. Continue、Step Over、Step Into、Step Outで実行を制御します。
  5. 終了するときはStopを選択します。

再現可能な小さなコードから始め、想定外の動作が起きる直前にブレークポイントを置きましょう。