C言語樹林– category –
-
【C言語入門】配列の基本!たくさんのデータをまとめて扱う方法
プログラミングをしていると、「クラス全員のテストの点数」や「1週間の最高気温」のように、たくさんの同じ種類のデータを扱いたい場面がよく出てきます。そんなとき、score1, score2, score3... のように一つ一つ変数を宣言するのは大変ですよね。 この... -
【C言語入門】文字配列と文字列の違いとは?strcpy, strlenなど基本関数も徹底解説
C言語で文字の集まりを扱う際、「文字配列」と「文字列」という2つの言葉が出てきます。これらは似ているようで、C言語の世界では非常に重要な違いがあります。 この記事では、両者の決定的な違いと、C言語で文字列を自在に扱うための必須ライブラリ関数 (... -
【C言語入門】2次元配列をマスターしよう!表やグリッド形式のデータ扱いの基本
C言語の配列を学習すると、次に登場するのが2次元配列です。1次元の配列が「一列に並んだリスト」だとすれば、2次元配列は**「縦横に広がる表(テーブル)やグリッド」**とイメージすると分かりやすいでしょう。 エクセルのシートや、ゲームのマップ、座席... -
【C言語入門】関数の基本!#include, 引数, 戻り値を理解して使いこなそう
C言語には、プログラミングを助けてくれる便利な「道具」がたくさん詰まった標準ライブラリというものが用意されています。画面に文字を表示する printf も、このライブラリに含まれる関数の一つです。 これらの便利な関数を使いこなすには、いくつかの基... -
【C言語入門】自作関数の作り方!定義の基本からプロトタイプ宣言まで
C言語のプログラミングにおいて、同じような処理を何度も書いていると、コードが長くなり、読みにくくなってしまいます。そんな問題を解決するのが**「自作関数」**です。 処理を一つのまとまりとして関数化することで、コードの再利用性が高まり、プログ... -
【C言語の基本】グローバル変数とローカル変数の違いとは?変数の有効範囲(スコープ)を理解しよう
C言語で変数を宣言するとき、その変数がプログラムの**「どこからどこまで使えるか」という有効範囲が決まっています。この有効範囲のことをスコープ**と呼びます。 スコープを正しく理解しないと、「使えるはずの変数にアクセスできない」「意図しない場... -
【C言語の基本】メモリとアドレスとは?変数がコンピュータのどこに保存されるか見てみよう
私たちがC言語で int score = 100; のように変数を宣言するとき、その score という変数はコンピュータのどこに、どのように保存されているのでしょうか?この謎を解く鍵が**「メモリ」と「アドレス」**です。 この記事では、プログラムの舞台裏で動いてい... -
【C言語の最重要機能】ポインタの基本を徹底解説!初心者でも必ずわかる
C言語を学ぶ上で、誰もが一度は「難しい」と感じる概念、それが**「ポインタ」**です。しかし、ポインタを理解することで、C言語の真の力を引き出し、より高度で効率的なプログラミングが可能になります。 この記事では、そんなポインタの基本的な考え方か... -
ポインタ配列:複数の文字列をスマートに管理する
ポインタ配列とは、その名の通り、各要素がポインタである配列のことです。特に char* 型のポインタ配列は、複数の文字列をまとめて管理する際に非常に便利です。 通常の二次元配列 char str[4][20]; では、すべての要素が固定の長さ(この場合は20バイト... -
【C言語の重要概念】値渡しとアドレス渡しの違いとは?ポインタで引数を渡す方法を解説
C言語で関数を呼び出す際、引数として渡した変数の値が、関数の中で変更されても、呼び出し元の変数には影響がない場合があります。一方で、関数内での変更が、呼び出し元の変数に直接反映されることもあります。この違いを生むのが、C言語における引数の... -
【C言語入門】コマンドライン引数の渡し方!argc, argvを使いこなそう
C言語で作ったプログラムは、実行時に外部から情報を受け取ることができます。コマンドプロンプトやターミナルでプログラムを起動する際に、ファイル名やオプションなどを渡す、あの機能です。これを**「コマンドライン引数」**と呼びます。 この記事では... -
【C言語入門】ファイルの開き方と閉じ方!fopenとfcloseの基本を徹底解説
プログラムで扱ったデータを保存したり、外部のファイルから設定を読み込んだりするためには、ファイル入出力の知識が不可欠です。C言語では、ファイル操作を行うための様々な関数が用意されています。 この記事では、その最も基本的かつ重要な第一歩であ... -
【C言語入門】テキストファイルの読み込みと書き出し!fgetc/fputc, fgets/fputsを完全解説
プログラムが終了してもデータを保存しておきたい、設定ファイルを読み込みたい、実行結果をログとして残したい──。こうした要望を叶えるのがファイル入出力の機能です。C言語には、テキストファイルを扱うための基本的で強力な関数が多数用意されています... -
【C言語】バイナリファイルの読み書き入門!fread, fwrite, fseekを使いこなす
C言語でのファイル操作には、人間が読める文字を扱う「テキストファイル」の他に、コンピュータが直接解釈するデータを扱う**「バイナリファイル」**の操作があります。画像ファイル(.jpg)、音声ファイル(.mp3)、実行ファイル(.exe)などはすべてバイナリフ... -
【C言語の基本】構造体(struct)の使い方を徹底解説!typedefやビットフィールドも
C言語でプログラミングをしていると、intやcharといった基本的なデータ型だけでは、複雑な情報を表現しきれない場面が出てきます。例えば、ゲームのキャラクターの「名前、レベル、HP」のように、複数のデータをひとまとめにして扱いたい場合です。 そんな... -
【C言語】共用体(union)と列挙体(enum)の使い方を解説!メモリ節約と定数管理のテクニック
C言語には、構造体(struct)と似て非なる、少し特殊なデータ型を定義する方法として**「共用体(union)」と「列挙体(enum)」**があります。これらは特定の場面で使うと、コードをより効率的で読みやすくしてくれる強力なツールです。 今回は、この共用体と列... -
【C言語】#defineマクロの基本と注意点!定数と関数マクロを使いこなす
C言語の学習を進めると、#define という記述をよく見かけるようになります。これはマクロと呼ばれる、C言語の強力な機能の一つです。 マクロを使いこなせば、コードをより読みやすく、メンテナンスしやすくすることができます。しかし、便利な反面、思わぬ... -
【C言語中級編】プログラムをファイル分割する基本!ヘッダーファイルの作り方と分割コンパイル
プログラムの規模が大きくなってくると、全てのコードを一つのファイル(例えば main.c)に書き続けるのは大変です。コードは長くなり、目的の関数を探すのも一苦労、修正による影響範囲も分かりにくくなります。 そこで重要になるのが、機能ごとにプログ... -
【C言語の舞台裏】ソースコードが実行ファイル(.exe)になるまでの4つのステップ
私たちが書いたC言語のソースコード(.cファイル)は、ただのテキストファイルです。それなのに、なぜ「ビルド」や「コンパイル」をすると、クリックすれば動く実行ファイル(Windowsの.exeファイルなど)に変身するのでしょうか? この記事では、その魔法... -
【C言語の基本】変数のスコープと寿命を理解しよう!staticとexternの使い分け
C言語でプログラミングをしていると、「この変数は、どこからどこまで使えるんだろう?」「関数を呼び出すたびに、変数の値がリセットされてしまうのはなぜ?」といった疑問にぶつかることがあります。これらの疑問を解決する鍵が、**変数の「スコープ」と... -
【C言語入門】動的メモリ確保をマスター!mallocとfree関数の使い方を徹底解説
プログラミングをしていると、「ユーザーが入力した文字数に合わせて、ちょうど良いサイズの入れ物(メモリ)を用意したい」といった場面に遭遇することがあります。C言語では、そんな時に役立つ「動的メモリ確保」という仕組みが用意されています。 この...
1