エンジニアくん– Author –
組み込みソフトエンジニアとして働きながら、
C言語・メモリ・ポインタなどの基礎から実務まで解説しています。
副業・キャリアについても実体験ベースで発信中です。
X・Qiita・noteでも発信しています。
・X:更新情報・日常
・Qiita:技術発信
・note:キャリア・副業
▼まずはここから読むのがおすすめ
・C言語文法シリーズ
・メモリ領域解説シリーズ
・割り込み処理解説シリーズ
・ソフトウェア設計解説シリーズ
・キャリアと副業ロードマップ
-
C言語
C++とは?C言語との違いを組み込みエンジニア目線で解説
はじめに C言語は勉強したけど、C++はよく分からない そんな方は多いと思います。 C++って、C言語に機能を追加しただけじゃないんですか? そう思いやすいけど、実は“設計の考え方”がかなり違うんだよ C++は名前だけ見ると、「C言語を強化したもの」のよう... -
C言語
C言語の二重ループとは?for文を入れ子にする仕組みを図解でわかりやすく解説
はじめに for文やwhile文を学ぶと、次に出てくるのが「二重ループ」です。 でも初心者の頃は、 ループの中にループ? どっちが先に動くの? なぜそんなことをするの? と混乱しやすいポイントでもあります。 for文の中にfor文を書くんですか? そう。最初... -
ソフトウェア設計
ソフトウェア設計解説シリーズまとめ|保守性・変更容易性・設計思想を実務目線で学ぶ
ソフトウェア設計解説シリーズ 「動けばOK」から一歩進んで、“保守しやすいソフトウェア” を作れるようになりたい そんな方向けに、 なぜその設計にするのか なぜその書き方が危険なのか なぜ現場では設計が重要なのか を実務目線で整理したシリーズです。... -
C言語
C言語のスコープとは?変数が「見える範囲」を初心者向けに解説
はじめに C言語では、 Cint x = 10;int x = 10; のように変数を宣言できます。 しかし、この変数はどこからでも使えるわけではありません。 変数には、「使える範囲」があります。 これを、スコープ(scope)と呼びます。 初心者が混乱しやすいポイント C... -
ソフトウェア設計
消費税0%と1%は何が違う?「数字を変えるだけ」で済まないソフトウェア設計の話
はじめに 最近、 「消費税を0%にするべき」 「いや、1%は残すべき」 という議論をよく見かけます。 一見すると、 0% 1% は「たった1%の違い」に見えます。 そのため、 システム改修が大変って言うけど、数字を変えるだけでは? なぜ消費税0%はシステム改修... -
C言語
C言語の記憶域期間とは?変数の寿命をローカル・static・グローバルで理解しよう
はじめに C言語では、 Cint x;int x; のように変数を宣言できます。 しかし実は、変数には「いつ生成され、いつ消えるのか」という概念があります。 これを、記憶域期間(Storage Duration)と呼びます。 ここが初心者の超混乱ポイント 初心者のうちは、 ... -
C言語
C言語のstatic変数とは?ローカル変数との違いと使い方をわかりやすく解説
はじめに C言語を学んでいると、こんなコードを見かけることがあります。 Cstatic int count = 0;static int count = 0; この static 、初心者のうちはかなり分かりにくいです。 何が「static」なの?普通の変数と何が違う? なぜ値が保持されるの? ロー... -
C言語
C言語のグローバル変数とは?ローカル変数との違いと注意点を解説
はじめに C言語では、変数を関数の外で宣言できます。 例えば: Cint g_count = 0;int g_count = 0; このような変数を、「グローバル変数」と呼びます。 グローバル変数は便利な一方で、 どこからでも変更できる バグ原因になりやすい 設計が複雑になりや... -
C言語
C言語のローカル変数とは?スコープ・寿命・グローバル変数との違いを解説
はじめに C言語を学び始めると、最初によく使うのが「変数」です。 例えば: Cint x = 10;int x = 10; こうした変数の多くは、「ローカル変数」です。 しかし初心者のうちは、 ローカル変数とは何?グローバル変数との違いは? 関数が終わると消えるってど... -
C言語
C言語のsizeofとstrlenの違いとは?初心者が混乱しやすいポイントを徹底解説
はじめに C言語で文字列を扱っていると、次のようなコードが出てきます。 Cchar str[] = "hello"; printf("%zu\n", sizeof(str)); printf("%zu\n", strlen(str));char str[] = "hello"; printf("%zu\n", sizeof(str)); printf("%...