Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

C言語を学ぶ [printf関数による書式付き出力]

 

こんにちは、鯨井貴博@opensourcetechです。

 

 

実は私普段からZeus IT CampというITスクールでLinuxLPICなどについて教えており、Linuxの操作方法やサーバの構築・運用ノウハウについてはあるのですが、

Linux自体の中身であるカーネルが書かれているC言語についてはあまり詳しくありません。

www.it-camp.jp

 

なので、今回はC言語の入り口としてprintf関数やヘッダーファイルなどについて、調べてみようと思います。

 

 

 

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/diff/?id=v4.4-rc4&id2=v4.4-rc3&dt=2

を見ても、.c(C言語で書かれたファイル)や.h(ヘッダファイル)が多く見られます。

f:id:opensourcetech:20151207105955p:plain

 

 

printf関数とは、書式付き出力を行うものであり、

単純に言うと文字列を表示することが出来るものです。

(※そんな単純なもんじゃないという意見が聞こえてきそうですが、

 「この未熟者め!」とやさしく見守っていただけると助かります。)

 

ひとまず、手元にあったmac環境でやってみます。

f:id:opensourcetech:20151207101944p:plain

作成したサンプル(test.c)は上記となり、

C言語のテスト」と標準出力に出力を行うものです。

 

#include <stdio.h>

  →stdio.hというヘッダーファイルを読み込むことを意味する。

int main() { }

  →C言語ではプログラムが起動するとmain関数を実行します。

   { }で囲まれた部分がその内容となります。

printf("C言語のテスト\n");

  →"(ダブルクォーテーション)で囲まれた文字列を出力します。

   \nは改行コードを表し、;(セミコロン)は文の終了を意味します。

return 0;

  →ゼロを返し、main関数を終了させます。

 

 

f:id:opensourcetech:20151207101832p:plain

作成したサンプル(test.c)を続いてコンパイルします。
gccなどのC言語に対応したコンパイラーが必要になるので、
事前にインストールをしておいてください。

gcc -o test test.c
 →test.cを元に、testというファイルを作成(output)しています。

./test
 →出来上がった実行ファイル(test)を実行すると、
  printfで指定された文字列が出力されます。


また、gcc -v test.cとすると、
test.cで読み込まれるヘッダーファイルのパスなど詳細情報を確認出来ます。

f:id:opensourcetech:20151207103318p:plain

 

 

 

また、仮想的に用意したLinux(CentOS)でやってみると以下のようになります。

※ヘッダーファイルのパスやgccのバージョンが異なるぐらいしか違いはありませんが。

f:id:opensourcetech:20151207105331p:plain

f:id:opensourcetech:20151207105628p:plain

 

 

以前ブックオフの激安コーナーで購入した「プログラミング言語C」があったので、

C言語の勉強に役立ちそうです。

f:id:opensourcetech:20151207110039j:plain

 

 

 

にほんブログ村 IT技術ブログ Linuxへ
Linux

にほんブログ村 IT技術ブログ オープンソースへ
オープンソース

Opensourcetech by Takahiro Kujirai