MawaLog

一日一日、楽しく生きる。技術と音楽が好き。

C言語で謎だったことでこの度分かったこと

C言語に久しぶりに帰る(ちょっとだけ)

今これを読んでいて、プログラム例がCなので、久しぶりにCの文法などをチェックしてみている

これ、有名なやつですよね。HTML版で2013年くらいに一通りやったけど、全部忘れてました・・・

苦しんで覚えるC言語

苦しんで覚えるC言語

今読むと分かりやすい!と思い、この度わかったポイントを書きます。

C言語で謎だったことでこの度分かったこと

このあたりのことが分かった。

  • Cの関数の形式
[返り値のデータ型] [関数名]([引数]){
[関数の処理]
return [返り値];
}
  • 関数の最初に実行される関数はmainという名称にする

  • voidは返り値なし、引数を取らないの意味

  • モジュールのインポート(Pythonでいうimport)は下記の形式

#include <[ファイル名]>
  • include <stdio.h>のstdio.hは、標準入出力モジュールのことでstandard I/O header の略のこと

  • 改行の"\n"と"¥n"は同じ。日本語キーボードの関係で¥マークを入力することがあるってだけ

  • %d は"%d指定子"と呼ばれる 数字→文字列 に変換する指示子

  • ポインタは、変数の格納メモリのアドレスを格納できる変数機能があり、エイリアス的につかう事が多い(らしい)(多分クラスや構造体を新オブジェクトとして作ったときに予め宣言しておいた継承元クラスや構造体の値とかをディープコピーしてくるという感じではないかな(まだ予想だけど))

  • c言語で作ったファイルは◯◯.c と ◯◯.h がある。◯◯.hは"ヘッダーファイル"と言って◯◯.cとかで定義した関数とかの重要箇所の概要だけ一覧にしたもの。stdio.hはヘッダーファイル。

今復習してみるとPythonの文法でもCと共通というか似てるところがありますね。

Cを初めて触った当時の回顧

当時は一度もアプリ作ったことがなかったので、Cの文法学んだけど、それからアプリ開発までの大きな溝を独学で埋められずにプログラミングはそれから3〜4年位塩漬けとなりました・・・当時はLAMPがメジャーな感じでしたが、Ruby on Railsの流行から、Python/Django, Go, Rust インフラもオンプレミスからAWSGCPとどんどんここ数年でトレンドが変わってきていますね。