Skip to content

C overview — C言語の基本

TL;DR

Cプログラムは、宣言した型に合わせて値を扱い、関数で処理をまとめます。配列の範囲やメモリの寿命はプログラマが管理します。このカテゴリはISO Cを扱い、OSやコンパイラ固有の操作は別カテゴリに分けます。

Example

ISO C99以降・ホスト環境向け。main.c として保存します。

c
#include <stdio.h>

static int add(int lhs, int rhs)
{
    return lhs + rhs;
}

int main(void)
{
    int total = add(2, 3);
    printf("total = %d\n", total);
    return 0;
}

出力は total = 5 です。GCCを導入済みの環境でのビルド例です。

sh
gcc -std=c99 -Wall -Wextra -Wpedantic main.c -o app
./app

Explanation

  • #include <stdio.h>printf の宣言を取り込みます。
  • int main(void) は引数を使わないプログラムの入口です。return 0 は正常終了を表します。
  • add は定義を呼び出しより前に置いています。別ファイルの関数なら宣言をヘッダーに置きます。
  • 関数の引数は値渡しです。呼び出し元の値を書き換える方法はポインタを参照してください。

ISO Cと処理系を区別する

上記のコマンドラインはGCCの使い方です。ISO Cの仕様ではありません。AIXの cc にそのまま同じオプションを渡せるとは限りません。

参考

C11委員会草案 N1570 §5.1.2.2、§6.5.2.2。草案を参照用に用い、C11固有機能をC99の機能として扱わない方針です。