ラベル C言語 の投稿を表示しています。 すべての投稿を表示
ラベル C言語 の投稿を表示しています。 すべての投稿を表示

2026年5月22日金曜日

C言語のコードをブラウザ上で書いて、その場ですぐに動かせる「オンライン実行環境」ありますか?

 C言語のコードをブラウザ上で書いて、その場ですぐに動かせる「オンライン実行環境」ですね!環境構築(ソフトのインストールなど)が一切不要で、すぐに試せるおすすめのサイトをいくつかピックアップしました。

用途に合わせて使い分けてみてください。

1. paiza.IO(パイザ・アイオー) — 一番手軽でおすすめ

日本の企業が運営している、もっともメジャーなオンライン実行環境の一つです。画面がシンプルで分かりやすく、日本語に対応しているため初心者にはダントツでおすすめです。

  • 特徴:

    • サイトを開いてすぐにコードが書ける(ログイン不要)。

    • 画面下部の「実行」ボタンを押すだけで結果が出る。

    • scanf などの「キーボードからの入力」を受け付けるプログラムも、画面下の「入力」タブから簡単に試せる。

  • こんな人向け: とにかく今すぐC言語のコードを動かしてみたい人。

2. OnlineGDB — 本格的なデバッグも可能

海外のサイトですが、非常に高機能なオンラインコンパイラです。

  • 特徴:

    • コードの実行だけでなく、プログラムを1行ずつ動かして変数の変化を追う「デバッグ(Debug)機能」がついている。

    • 画面が黒基調(ダークモード)で見やすい。

  • こんな人向け: エラーの原因をじっくり探したり、少し複雑なプログラムを動かしたくなったりした人。

3. Wandbox(わんどぼっくす) — マニアックな設定も可能

日本の開発者が運営している、プログラマに人気の高いサイトです。

  • 特徴:

    • C言語のバージョン(C11、C23など)や、コンパイラの種類(GCC、Clangなど)を細かく切り替えられる。

    • 余計な機能がなく、非常に軽量。

  • こんな人向け: 「最新のC言語の仕様を試したい」「コンパイラの違いによる挙動の変化を見たい」という少し慣れてきた人。

💡 手軽に試すためのワンポイント どのサイトを使う場合も、サイトを開いたらまずは言語の設定(Language)を 「C」 または 「C (GCC)」 に合わせてからコードを書き始めてくださいね。

まずは一番ハードルが低い 「paiza.IO」 から触ってみるのがおすすめです!


ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

C
#include <stdio.h>

int main(void) {
    printf("Hello, World!\n");
    return 0;
}

2. paiza.IO での実行手順

1.paiza.IO にアクセスする:まずはサイトを開く。

ブラウザで「paiza.IO」のサイト(外部ページ)を開き、中央にある

「コード作成を試してみる(無料)」 ボタンをクリックします。

2.プログラミング言語を「C」に設定する:左上のボタンを確認。

画面の左上(または右上)にある言語選択ボタン(最初は「PHP」や「Python」

などになっていることが多いです)をクリックし、リストから 「C」 を選択します。

3.コードを貼り付ける:エディタ部分を書き換え。

最初から画面に入力されている文字をすべて消して、先ほどの「Hello World」

のコードを貼り付けます(あるいは自分でタイピングしてみてください)。

4.プログラムを実行する:結果を確認。

画面の左下にある緑色の 「実行(Ctrl+Enter)」 ボタンを押します。少し待つと、

画面下の「出力」欄に Hello, World! と表示されれば成功です!

もしエラー(赤い文字など)が出た場合は、セミコロン(;)が抜けていないか、

あるいは文字がすべて「半角」になっているか

(全角スペースなどが混ざるとエラーになります)を確認してみてください。

2026年3月3日火曜日

c言語で文字列をメモリに読み込むコードを教えてください。

 C言語で文字列をメモリに読み込むには、主に**「静的な配列」を使う方法と、「動的なメモリ確保(malloc)」**を使う方法の2通りがあります。

初心者の方にも扱いやすい、標準入力(キーボード)から文字列を読み込む代表的なコードを紹介します。


1. 静的な配列を使用する方法(手軽な方法)

あらかじめ決まったサイズの箱(配列)を用意しておく方法です。

C
#include <stdio.h>

int main() {
    char str[100]; // 100バイトのメモリを確保

    printf("文字列を入力してください: ");
    // scanfはスペースで止まるため、一行読み込むには fgets が推奨されます
    fgets(str, sizeof(str), stdin);

    printf("読み込んだ文字列: %s", str);
    return 0;
}

2. 動的なメモリ確保を使用する方法(柔軟な方法)

プログラムの実行中に、必要な分だけメモリを確保する方法です。malloc 関数を使用し、使い終わったら free でメモリを解放するのがルールです。

C
#include <stdio.h>
#include <stdlib.h> // malloc, free に必要

int main() {
    char *ptr;
    int size = 100;

    // ヒープ領域にメモリを確保
    ptr = (char *)malloc(size * sizeof(char));

    if (ptr == NULL) {
        printf("メモリの確保に失敗しました。\n");
        return 1;
    }

    printf("文字列を入力してください: ");
    scanf("%99s", ptr); // 最大99文字読み込み(最後にヌル文字が入るため)

    printf("メモリ上の文字列: %s\n", ptr);

    // 使い終わったら必ず解放
    free(ptr);

    return 0;
}

⚠️ 注意点:メモリの構造

C言語で文字列を扱う際、メモリ上では文字の最後に必ず ヌル文字 \0 が追加されます。そのため、10文字の単語を保存するには、最低でも 11バイト のメモリが必要です。

💡 どちらを使うべき?

  • 配列 (char str[100]): 読み込む文字数の上限が決まっている場合に適しています。管理が楽です。

  • 動的確保 (malloc): 実行時まで文字数がわからない場合や、非常に大きなデータを扱う場合に適しています。


特定のファイルから読み込みたい場合や、ポインタの概念についてもっと詳しく知りたい部分はありますか?

(※画面上のコピーアイコンで、このコードをエディタに貼り付けて試せます)