マガジンのカバー画像

C言語

63
C言語に関するあれこれ
運営しているクリエイター

#関数

プログラマーがプログラム中に考えていること

プログラマーがプログラム中に考えていること

先日書いたコードです。
と言っても Python チュートリアルをC言語に焼き直しただけですど。

プログラムは、次のようなもの。

こじんまりとしたプログラムです。
Python で書くとコメント込みで 20 行。
C言語で 33 行( { や } だけの行が 12 行!)。

これが初版です。
#include <stdio.h>#include <stdbool.h>bool is_pri

もっとみる
C言語 「main」関数と分離する

C言語 「main」関数と分離する

序章前回までで足し算プログラムを作りました。

関数は「main」関数が1つだけ。

「main」関数はC言語において特殊です。
プログラムを実行したとき、この「main」関数から実行されます。
プログラムの中で「main」関数は必ず必要であり、複数存在してはいけません。唯一無二の存在です。

C言語で書かれたプログラムは必ず「main」関数を持ちます。
プログラムAからプログラムBへコードを移植

もっとみる
【C言語】コンパイラが何をしているのか、ちょっとのぞいてみよう その3 コンパイル

【C言語】コンパイラが何をしているのか、ちょっとのぞいてみよう その3 コンパイル

C言語のコンパイラというのは、次の4つのステップで成り立ちます。

(1)プリプロセッサ
(2)コンパイル
(3)アセンブル
(4)リンク

前回は「(1)プリプロセッサ」について記載しました。

次は「(2)コンパイル」について書いてみましょう。

コンパイルは、C言語を翻訳してアセンブリコードを出力します。

アセンブリコードはCPUによって異なります。このため、いろいろなCPUに対応したいろ

もっとみる
【C言語】ポインタ ~ポインタを使って関数から情報を取得してみる ~

【C言語】ポインタ ~ポインタを使って関数から情報を取得してみる ~

前回、ポインタの概要について説明してみました。

では、ポインタはどんな風に使うのでしょうか。

「関数の引数」です。

こんな関数を考えてみましょう。

「2つの変数を足し算する関数」
(ありがちだなぁ(苦笑))

引数は2つ。
足し算した結果は戻り値で返しましょうか。
こんな感じです。

int add(int a, int b){ return (a + b);}

これは、ポイ

もっとみる