対象 | C言語初心者 |
記事概要 | C言語の概要・開発環境・始め方についての入門記事です。 |
筆者 | Zuu [ ] C言語歴20年以上。 大手電機メーカーでの製品開発経験がある現役エンジニアです。 プロジェクトマネージャ、システムアーキテクトなどの資格を保有しています。 |
C言語の概要
C言語とは?
C言語(シーげんご、英: C programming language)は、1972年にAT&Tベル研究所のデニス・リッチーが主体となって開発した汎用プログラミング言語である。
1972年に開発された非常に古い言語です。C言語について書かれた書籍としては、デニス・リッチーとブライアン・カーニハンの共著『プログラミング言語C』が非常に有名です。この書籍に掲載されているプログラムのコーディングスタイルは『K&Rスタイル』と呼ばれています。
C言語を使うと何ができる?
C言語は、ハードウェアに近い「低レイヤー」と呼ばれる層のソフトウェアを開発するのによく用いられます。例えば、OS(オペレーティングシステム:WindowsやLinuxなど)やデバイスドライバ(プリンタなどの周辺機器を動作させるためのソフトウェア)などです。
GUIアプリケーションなどには不向きなので、GUIプリケーションを作りたい場合は他の言語を使用すると良いでしょう。※できないというわけではありません。
C言語を使うエンジニアは、家電メーカーやSIerなどに多いと思います。家電メーカーに就職したい場合には選択肢の1つとなるでしょう。
※SIer:主に受託開発でシステムを作り上げる会社
C言語の難易度はどれくらい?
筆者の個人的な意見となりますが、C言語の文法としての難易度は比較的簡単なほうになると思います。
理由としては、「覚えるべき要素が少ない」ということが挙げられます。ただし、「ポインタ」だけは難易度が高いです。よって、「ポインタ」をマスターできるかがC言語学習の鍵になると言えるでしょう。
SNS等を見ていると、「C言語は難しい」という意見や情報が出ていますが、大学などで最初に学ぶプログラミング言語として選ばれていることが大きな要因かと思います。
※最初に学ぶプログラミング言語はなんでも難しいと感じるはずです。
本ブログでは、C言語の最難関である「ポインタ」を理解することを目的とした記事を掲載しております。
C言語の文法
覚えるべき要素
C言語は、古い言語なだけあって文法は非常にシンプルで、覚えるべき要素は少ないです。そのほとんどが他の言語でも使われている要素なので、C言語を覚えておけば知識をそのまま使うことができるので他の言語の習得も楽になるでしょう。逆もまた然りです。
C言語で覚えるべき要素は以下の通りです。
※様々な書籍やウェブサイトでもだいたい同じような項目だと思います。
- 変数
- 分岐処理、反復処理
- 配列
- 構造体
- 関数
- ポインタ
- ファイルの取り扱い
これに分類を加えて整理してみると以下のようになります。
分類 | 要素 | 概要 |
---|---|---|
データ | 変数 | データの扱い方 |
配列 | 連続するデータの扱い方 | |
構造体 | 独自定義データの扱い方 | |
コード(処理) | 分岐、反復 | プログラミングの基本処理 |
関数 | 独自定義処理の扱い方 | |
その他 | ポインタ | ショートカットのようなもの |
ファイルの取り扱い | ストレージの使用方法 |
どのプログラミング言語もそうですが、ほとんどが「データ」と「コード」に分類されます。これはプログラミングにおいて大事な要素ですので、ぜひ覚えておきましょう。
最小のプログラム(最初に覚えるべきプログラム)
C言語の最小プログラムは以下のようになります。コンソールに「Hello, World!」と表示するだけのプログラムですが、大事な要素がたくさん詰まっていますので、暗記するぐらいの気持ちで覚えましょう。
1 2 3 4 5 6 |
#include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } |
動画で解説していますので、よろしければご覧ください。
C言語の始め方(開発環境構築)
Visual Studio
Windowsを使用していて、C言語以外にもC#などを使ってみたいという人におすすめの開発環境です。ディスク容量に余裕があるならとりあえず入れておいて損はないと思います。GUIアプリなので初心者にもとっつきやすいですね。
Visual Studioのインストール方法についてはこちらの記事をご覧ください。
gcc
色々なOSで使用できるコマンドラインの開発環境です。Linuxでは標準で入っていたりしますし、WindowsでもMinGWというものを使えば環境を構築することが可能です。環境構築に少し手間がかかりますし、コマンドラインから実行する必要があるので初心者にはおすすめしません。
ブラウザ
C言語のプログラムを動かすにはコンパイラが必要と思われるかもしれませんが、意外にもブラウザで動かすことができます。
インストールなどの作業をせずに利用できるので、軽くC言語に触れてみたいという場合におすすめです。
試してみたい方は、こちらからどうぞ!
まとめ
- 覚えるべき要素は少ないけど、「ポインタ」だけ要注意!
- OSやデバイスドライバなど「低レイヤー」のソフトウェア開発に利用される
- Visual Studioをインストールしなくても、ブラウザからでも利用できる
コメント